WSJT-X/contrib/QDarkStyleSheet/test/mw_for_ui_tests.py

76 lines
2.3 KiB
Python
Raw Normal View History

#!python
# -*- coding: utf-8 -*-
"""This module provides a main window for UI tests.
"""
import logging
import sys
import argparse
import qdarkstyle
def get_main_window_app(qt_from='pyqt', no_dark=True):
"""Return main window application."""
# set log for debug
logging.basicConfig(level=logging.DEBUG)
style = ''
if qt_from == 'pyside':
# using PySide wrapper
from PySide.QtGui import QApplication, QMainWindow, QDockWidget
from PySide.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize
# getting style
style = qdarkstyle.load_stylesheet_pyside()
elif qt_from == 'pyqt':
# using PyQt4 wrapper
from PyQt4.QtGui import QApplication, QMainWindow, QDockWidget
from PyQt4.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize
# getting style
style = qdarkstyle.load_stylesheet_pyqt()
elif qt_from == 'pyqt5':
# using PyQt5 wrapper
from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget
from PyQt5.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize
# getting style
style = qdarkstyle.load_stylesheet_pyqt5()
elif qt_from == 'qtpy':
# using QtPy API
from qtpy.QtWidgets import QApplication, QMainWindow, QDockWidget
from qtpy.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize
# getting style
style = qdarkstyle.load_stylesheet_from_environment()
elif qt_from == 'pyqtgraph':
# using PyQtGraph API
from pyqtgraph.Qt import QtGui, QtCore
# getting style
style = qdarkstyle.load_stylesheet_from_environment(is_pyqtgraph=True)
if no_dark:
style = ''
# create the application
app = QApplication(sys.argv)
app.setOrganizationName('QDarkStyle')
app.setApplicationName('QDarkStyle Test')
# setup stylesheet
app.setStyleSheet(style)
# create main window
window = QMainWindow()
window.setWindowTitle("QDarkStyle v." + qdarkstyle.__version__ +
" - TEST - Using " + qt_from)
# auto quit after 2s when testing on travis-ci
if "--test" in sys.argv:
QTimer.singleShot(2000, app.exit)
# run
window.showMaximized()
app.exec_()
return window