def launch(): app = QApplication(sys.argv) app.setStyleSheet(qdarkstyle.load_stylesheet()) mainwindow.MainWindowPresenter() sys.exit(app.exec_())
def main(): logmodule = qrainbowstyle.extras.OutputLogger() qInstallMessageHandler(qt_message_handler) QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps) QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) app = QApplication(sys.argv) app.setStyleSheet(qrainbowstyle.load_stylesheet()) win = FramelessWindow() groupbox = QWidget(win) groupbox_layout = QGridLayout(groupbox) groupbox.setLayout(groupbox_layout) groupbox_layout.addWidget(QLabel("StylePickerGrid:", groupbox), *(1, 1)) groupbox_layout.addWidget(StylePickerGrid(2, groupbox), *(1, 2)) groupbox_layout.addWidget(QLabel("StylePickerVertical:", groupbox), *(2, 1)) groupbox_layout.addWidget(StylePickerVertical(groupbox), *(2, 2)) groupbox_layout.addWidget(QLabel("StylePickerHorizontal:", groupbox), *(3, 1)) groupbox_layout.addWidget(StylePickerHorizontal(groupbox), *(3, 2)) win.addContentWidget(groupbox) win.show() sys.exit(app.exec())
def typhon_cli(args): args = parser.parse_args(args) # Logging Level handling if args.verbose: level = "DEBUG" shown_logger = logging.getLogger('typhon') else: shown_logger = logging.getLogger() level = "INFO" coloredlogs.install(level=level, logger=shown_logger, fmt='[%(asctime)s] - %(levelname)s - %(message)s') logger.debug("Set logging level of %r to %r", shown_logger.name, level) # Version endpoint if args.version: print(f'Typhon: Version {typhon.__version__} from {typhon.__file__}') return try: import happi except (ImportError, ModuleNotFoundError): logger.exception("Unable to import happi to load devices!") return logger.debug("Creating Happi Client ...") client = happi.Client.from_config(cfg=args.happi_cfg) logger.debug("Creating widgets ...") app = QApplication.instance() if not app: app = QApplication([]) if args.stylesheet: logger.info("Loading QSS file %r ...", args.stylesheet) with open(args.stylesheet, 'r') as handle: app.setStyleSheet(handle.read()) suite = typhon.TyphonSuite() logger.info("Loading Tools ...") for name, tool in suite.default_tools.items(): suite.add_tool(name, tool()) # Load and add each device for device in args.devices: logger.info("Loading %r ...", device) try: device = client.load_device(name=device) suite.add_device(device) suite.show_subdisplay(device) except Exception: logger.exception("Unable to add %r to TyphonSuite", device) # Deal with stylesheet typhon.use_stylesheet(dark=args.dark) logger.info("Launching application ...") suite.show() app.exec_() logger.info("Execution complete!") return suite
def bootstrap( app: QtWidgets.QApplication, config_manager: InterfaceConfig, theme: str = "Breeze", aot: bool = True, debug_no_scrcpy: bool = False, hide_wm_frame: bool = True, ): """ Launch the guiscrcpy window :return: """ config = config_manager.get_config() # load fonts font_database = QFontDatabase() for font in FONTS: s = font_database.addApplicationFont( ":/font/fonts/{ttf}".format(ttf=font)) if s == -1: # loading the font failed # https://doc.qt.io/qt-5/qfontdatabase.html print(fc("{y}Failed to load {ttf} font.{rst}", ttf=font)) # set theme app.setStyle(theme) # apply stylesheet if theme == "Breeze": # The Qdarkstylesheet is based on Breeze, lets load them on default app.setStyleSheet(dark_stylesheet()) # load splash splash_pix = QPixmap(":/res/ui/guiscrcpy-branding.png") splash = QtWidgets.QSplashScreen(splash_pix) splash.setMask(splash_pix.mask()) splash.show() app.processEvents() # on windows, users are likely not to add the scrcpy-server to the # SCRCPY_SERVER_PATH config_manager.update_config(set_scrcpy_server_path(config)) config_manager.write_file() adb = AndroidDebugBridge(config_manager.get_config().get("adb")) scrcpy = ScrcpyBridge(config_manager.get_config().get("scrcpy")) config_manager["adb"] = adb.get_path() config_manager["scrcpy"] = scrcpy.get_path() guiscrcpy = InterfaceGuiscrcpy( config_manager=config_manager, adb=adb, scrcpy=scrcpy, force_window_frame=not hide_wm_frame, panels_not_always_on_top=not aot, debug_no_scrcpy=debug_no_scrcpy, ) guiscrcpy.show() app.processEvents() splash.hide() app.exec_()
def main(): logmodule = qrainbowstyle.extras.OutputLogger() qInstallMessageHandler(qt_message_handler) QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps) QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) app = QApplication(sys.argv) app.setStyleSheet(qrainbowstyle.load_stylesheet(style="darkorange")) win = FramelessWindow() widget = MainWidget(win) win.addContentWidget(widget) win.show() sys.exit(app.exec())
def main(): logmodule = qrainbowstyle.extras.OutputLogger() qInstallMessageHandler(qt_message_handler) QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps) QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) app = QApplication(sys.argv) app.setStyleSheet(qrainbowstyle.load_stylesheet(style="oceanic")) qrainbowstyle.setAppIcon( os.path.join(os.path.dirname(os.path.realpath(__file__)), "github_logo.png")) dialog = FramelessWindow() dialog.setWindowTitle("FDialog") dialog.resize(1100, 600) dialog.show() oneMenu = QMenu() oneMenu.setTitle("Tools") oneMenu.addActions( [QAction("Clicker", oneMenu), QAction("Initializer", oneMenu)]) twomenu = QMenu() twomenu.setTitle("File") twomenu.addActions([QAction("Open", twomenu), QAction("Save", twomenu)]) thirdmenu = QMenu() thirdmenu.setTitle("Settings") thirdmenu.addActions([QAction("Network", thirdmenu)]) looper = StyleLooper() style = QAction("Change style", thirdmenu) style.triggered.connect(looper.change) thirdmenu.addAction(style) dialog.addMenu(twomenu) dialog.addMenu(oneMenu) dialog.addMenu(thirdmenu) box = FramelessWarningMessageBox(dialog) box.setText("Warning :)") box.show() sys.exit(app.exec())
def start_gui(config: Config) -> None: """ Initializing the Qt application. MainWindow takes care of initializing the player and the API, and acts as the "main function" where everything is put together. """ app = QApplication(['vidify']) # Setting dark mode if enabled if config.dark_mode: logging.info("Enabling dark mode") app.setStyleSheet(qdarkstyle.load_stylesheet_from_environment()) set_dark_mode() app.setWindowIcon(QIcon(Res.icon)) window = MainWindow(config) window.show() sys.exit(app.exec_())
def main(): logmodule = qrainbowstyle.extras.OutputLogger() qInstallMessageHandler(qt_message_handler) QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps) QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) app = QApplication(sys.argv) app.setStyleSheet(qrainbowstyle.load_stylesheet()) qrainbowstyle.setAppIcon( os.path.join(os.path.dirname(os.path.realpath(__file__)), "github_logo.png")) win = FramelessWindow() widget = mainWidget(win) win.addContentWidget(widget) win.show() sys.exit(app.exec())
def main(): app = QApplication(sys.argv) app.setWindowIcon(QIcon(':/icons/app.svg')) fontDB = QFontDatabase() fontDB.addApplicationFont(':/fonts/Roboto-Regular.ttf') app.setFont(QFont('Roboto')) f = QFile(':/style.qss') f.open(QFile.ReadOnly | QFile.Text) app.setStyleSheet(QTextStream(f).readAll()) f.close() translator = QTranslator() translator.load(':/translations/' + QLocale.system().name() + '.qm') app.installTranslator(translator) mw = MainWindow() mw.show() sys.exit(app.exec_())
8: "time", 9: "datetime", 10: "volume", 11: "openInterest" }) return txtData ######################################################################## # 功能测试 ######################################################################## import sys if __name__ == '__main__': app = QApplication(sys.argv) # 界面设置 cfgfile = QtCore.QFile('css.qss') cfgfile.open(QtCore.QFile.ReadOnly) styleSheet = cfgfile.readAll() styleSheet = unicode(styleSheet, encoding='utf8') app.setStyleSheet(styleSheet) path = 'E:/data/day/rb1101.txt' # K线界面 ui = KLineWidget() ui.show() ui.KLtitle.setText('day+ rb1101', size='10pt') ui.loadDataBar(ui.getTxtData(path)) app.exec_()
def cmd_line(): """the setup.py entry point for ``pyNastranGUI``""" # this fixes the icon shown in the windows taskbar to be the custom one (not the python one) if sys.platform == 'win32': myappid = 'pynastran.pynastrangui.%s' % (pyNastran.__version__ ) # arbitrary string ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid) from qtpy.QtWidgets import QApplication app = QApplication(sys.argv) if 0: # pragma: no cover try: import qtmodern.styles except ImportError: pass else: qtmodern.styles.dark(app) #app.setStyle('Fusion') #app.setStyle('WindowsXP') #if 0: #import qtpy.QtGui as QtGui #import qtpy.QtCore as QtCore #palette = QtGui.QPalette() #palette.setColor(QtGui.QPalette.Window, QtGui.QColor(53,53,53)) #palette.setColor(QtGui.QPalette.WindowText, QtCore.Qt.white) #palette.setColor(QtGui.QPalette.Base, QtGui.QColor(15,15,15)) #palette.setColor(QtGui.QPalette.AlternateBase, QtGui.QColor(53,53,53)) #palette.setColor(QtGui.QPalette.ToolTipBase, QtCore.Qt.white) #palette.setColor(QtGui.QPalette.ToolTipText, QtCore.Qt.white) #palette.setColor(QtGui.QPalette.Text, QtCore.Qt.white) #palette.setColor(QtGui.QPalette.Button, QtGui.QColor(53,53,53)) #palette.setColor(QtGui.QPalette.ButtonText, QtCore.Qt.white) #palette.setColor(QtGui.QPalette.BrightText, QtCore.Qt.red) #palette.setColor(QtGui.QPalette.Highlight, QtGui.QColor(142,45,197).lighter()) #palette.setColor(QtGui.QPalette.HighlightedText, QtCore.Qt.black) #app.setPalette(palette) #if 1: stylesheet = get_stylesheet() if stylesheet: app.setStyleSheet(stylesheet) if 0: # pragma: no cover import qtpy.QtGui as QtGui #import qtpy.QtCore as QtCore from qtpy.QtGui import QPalette, QColor dark_palette = QtGui.QPalette() dark_palette.setColor(QPalette.WindowText, QColor(180, 180, 180)) dark_palette.setColor(QPalette.Button, QColor(53, 53, 53)) dark_palette.setColor(QPalette.Light, QColor(180, 180, 180)) dark_palette.setColor(QPalette.Midlight, QColor(90, 90, 90)) dark_palette.setColor(QPalette.Dark, QColor(35, 35, 35)) dark_palette.setColor(QPalette.Text, QColor(180, 180, 180)) dark_palette.setColor(QPalette.BrightText, QColor(180, 180, 180)) dark_palette.setColor(QPalette.ButtonText, QColor(180, 180, 180)) dark_palette.setColor(QPalette.Base, QColor(42, 42, 42)) dark_palette.setColor(QPalette.Window, QColor(53, 53, 53)) dark_palette.setColor(QPalette.Shadow, QColor(20, 20, 20)) dark_palette.setColor(QPalette.Highlight, QColor(42, 130, 218)) dark_palette.setColor(QPalette.HighlightedText, QColor(180, 180, 180)) dark_palette.setColor(QPalette.Link, QColor(56, 252, 196)) dark_palette.setColor(QPalette.AlternateBase, QColor(66, 66, 66)) dark_palette.setColor(QPalette.ToolTipBase, QColor(53, 53, 53)) dark_palette.setColor(QPalette.ToolTipText, QColor(180, 180, 180)) # disabled dark_palette.setColor(QPalette.Disabled, QPalette.WindowText, QColor(127, 127, 127)) dark_palette.setColor(QPalette.Disabled, QPalette.Text, QColor(127, 127, 127)) dark_palette.setColor(QPalette.Disabled, QPalette.ButtonText, QColor(127, 127, 127)) dark_palette.setColor(QPalette.Disabled, QPalette.Highlight, QColor(80, 80, 80)) dark_palette.setColor(QPalette.Disabled, QPalette.HighlightedText, QColor(127, 127, 127)) app.setPalette(dark_palette) QApplication.setOrganizationName("pyNastran") QApplication.setOrganizationDomain(pyNastran.__website__) QApplication.setApplicationName("pyNastran") QApplication.setApplicationVersion(pyNastran.__version__) inputs = get_inputs(print_inputs=False) #inputs['app'] = app MainWindow(inputs) app.exec_()
def main(): """Execute QDarkStyle example.""" parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument( '--qt_from', default='qtpy', type=str, choices=[ 'pyqt5', 'pyqt', 'pyside2', 'pyside', 'qtpy', 'pyqtgraph', 'qt.py' ], help= "Choose which binding and/or abstraction is to be used to run the example." ) parser.add_argument( '--no_dark', action='store_true', help="Exihibts the original window (without jam_darkstyle).") parser.add_argument('--test', action='store_true', help="Auto close window after 2s.") parser.add_argument('--reset', action='store_true', help="Reset GUI settings (position, size) then opens.") parser.add_argument('--screenshots', action='store_true', help="Generate screenshots on images folder.") # Parsing arguments from command line args = parser.parse_args() # To avoid problems when testing without screen if args.test or args.screenshots: os.environ['QT_QPA_PLATFORM'] = 'offscreen' # Set QT_API variable before importing QtPy if args.qt_from in ['pyqt', 'pyqt5', 'pyside', 'pyside2']: os.environ['QT_API'] = args.qt_from elif args.qt_from == 'pyqtgraph': os.environ['QT_API'] = os.environ['PYQTGRAPH_QT_LIB'] elif args.qt_from in ['qt.py', 'qt']: try: import Qt except ImportError: print('Could not import Qt (Qt.Py)') else: os.environ['QT_API'] = Qt.__binding__ # QtPy imports from qtpy import API_NAME, QT_VERSION, PYQT_VERSION, PYSIDE_VERSION from qtpy import __version__ as QTPY_VERSION from qtpy.QtWidgets import (QApplication, QMainWindow, QDockWidget, QStatusBar, QLabel, QPushButton, QMenu) from qtpy.QtCore import QTimer, Qt, QSettings # Set API_VERSION variable API_VERSION = '' if PYQT_VERSION: API_VERSION = PYQT_VERSION elif PYSIDE_VERSION: API_VERSION = PYSIDE_VERSION else: API_VERSION = 'Not found' # Import examples UI from mw_menus_ui import Ui_MainWindow as ui_main from dw_buttons_ui import Ui_DockWidget as ui_buttons from dw_displays_ui import Ui_DockWidget as ui_displays from dw_inputs_fields_ui import Ui_DockWidget as ui_inputs_fields from dw_inputs_no_fields_ui import Ui_DockWidget as ui_inputs_no_fields from dw_widgets_ui import Ui_DockWidget as ui_widgets from dw_views_ui import Ui_DockWidget as ui_views from dw_containers_tabs_ui import Ui_DockWidget as ui_containers_tabs from dw_containers_no_tabs_ui import Ui_DockWidget as ui_containers_no_tabs # create the application app = QApplication(sys.argv) app.setOrganizationName('QDarkStyle') app.setApplicationName('QDarkStyle Example') style = '' if not args.no_dark: style = jam_darkstyle.load_stylesheet() app.setStyleSheet(style) # create main window window = QMainWindow() window.setObjectName('mainwindow') ui = ui_main() ui.setupUi(window) title = ("QDarkStyle Example - " + "(QDarkStyle=v" + jam_darkstyle.__version__ + ", QtPy=v" + QTPY_VERSION + ", " + API_NAME + "=v" + API_VERSION + ", Qt=v" + QT_VERSION + ", Python=v" + platform.python_version() + ")") _logger.info(title) window.setWindowTitle(title) # Create docks for buttons dw_buttons = QDockWidget() dw_buttons.setObjectName('buttons') ui_buttons = ui_buttons() ui_buttons.setupUi(dw_buttons) window.addDockWidget(Qt.RightDockWidgetArea, dw_buttons) # Add actions on popup toolbuttons menu = QMenu() for action in ['Action A', 'Action B', 'Action C']: menu.addAction(action) ui_buttons.toolButtonDelayedPopup.setMenu(menu) ui_buttons.toolButtonInstantPopup.setMenu(menu) ui_buttons.toolButtonMenuButtonPopup.setMenu(menu) # Create docks for buttons dw_displays = QDockWidget() dw_displays.setObjectName('displays') ui_displays = ui_displays() ui_displays.setupUi(dw_displays) window.addDockWidget(Qt.RightDockWidgetArea, dw_displays) # Create docks for inputs - no fields dw_inputs_no_fields = QDockWidget() dw_inputs_no_fields.setObjectName('inputs_no_fields') ui_inputs_no_fields = ui_inputs_no_fields() ui_inputs_no_fields.setupUi(dw_inputs_no_fields) window.addDockWidget(Qt.RightDockWidgetArea, dw_inputs_no_fields) # Create docks for inputs - fields dw_inputs_fields = QDockWidget() dw_inputs_fields.setObjectName('inputs_fields') ui_inputs_fields = ui_inputs_fields() ui_inputs_fields.setupUi(dw_inputs_fields) window.addDockWidget(Qt.RightDockWidgetArea, dw_inputs_fields) # Create docks for widgets dw_widgets = QDockWidget() dw_widgets.setObjectName('widgets') ui_widgets = ui_widgets() ui_widgets.setupUi(dw_widgets) window.addDockWidget(Qt.LeftDockWidgetArea, dw_widgets) # Create docks for views dw_views = QDockWidget() dw_views.setObjectName('views') ui_views = ui_views() ui_views.setupUi(dw_views) window.addDockWidget(Qt.LeftDockWidgetArea, dw_views) # Create docks for containers - no tabs dw_containers_no_tabs = QDockWidget() dw_containers_no_tabs.setObjectName('containers_no_tabs') ui_containers_no_tabs = ui_containers_no_tabs() ui_containers_no_tabs.setupUi(dw_containers_no_tabs) window.addDockWidget(Qt.LeftDockWidgetArea, dw_containers_no_tabs) # Create docks for containters - tabs dw_containers_tabs = QDockWidget() dw_containers_tabs.setObjectName('containers_tabs') ui_containers_tabs = ui_containers_tabs() ui_containers_tabs.setupUi(dw_containers_tabs) window.addDockWidget(Qt.LeftDockWidgetArea, dw_containers_tabs) # Tabify right docks window.tabifyDockWidget(dw_buttons, dw_displays) window.tabifyDockWidget(dw_displays, dw_inputs_fields) window.tabifyDockWidget(dw_inputs_fields, dw_inputs_no_fields) # Tabify left docks window.tabifyDockWidget(dw_containers_no_tabs, dw_containers_tabs) window.tabifyDockWidget(dw_containers_tabs, dw_widgets) window.tabifyDockWidget(dw_widgets, dw_views) # Issues #9120, #9121 on Spyder qstatusbar = QStatusBar() qstatusbar.addWidget( QLabel('Issue Spyder #9120, #9121 - background not matching.')) qstatusbar.addWidget(QPushButton('OK')) # Add info also in status bar for screenshots get it qstatusbar.addWidget(QLabel('INFO: ' + title)) window.setStatusBar(qstatusbar) # Todo: add report info and other info in HELP graphical # Auto quit after 2s when in test mode if args.test: QTimer.singleShot(2000, app.exit) # Save screenshots for different displays and quit if args.screenshots: window.showFullScreen() create_screenshots(app, window, args.no_dark) # Do not read settings when taking screenshots - like reset else: _read_settings(window, args.reset, QSettings) window.showMaximized() app.exec_() _write_settings(window, QSettings) return window
"""Check if the problem is solved.""" n_lights = self.manage_puzzle.n_lights_1axis for idx_row in range(n_lights): for idx_col in range(n_lights): btn = self.btn_grid_table.cellWidget(idx_row, idx_col) if btn is not None: if btn.isChecked(): return n_solution = self.manage_puzzle.count_1_of_solution() QMessageBox.information(self, "Succeess", ("Congratulation\n" f"clicked : {self.n_clicked}\n" f"solution : {n_solution}")) if __name__ == '__main__': APP = QApplication(sys.argv) style_sheet = qdarkstyle.load_stylesheet_pyqt5() APP.setStyleSheet(style_sheet) FONT = QFont("D2Coding Ligature", 12) FONT.setStyleHint(QFont.Monospace) APP.setFont(FONT) MAIN_WINDOW = MainWindowLightsOut() MAIN_WINDOW.show() sys.exit(APP.exec_())
self.askClose = FramelessQuestionMessageBox(self) self.askClose.setWindowModality(Qt.WindowModal) self.askClose.setText("Do you really want to exit?") self.askClose.setStandardButtons(QDialogButtonBox.Yes | QDialogButtonBox.No) self.askClose.button(QDialogButtonBox.No).clicked.connect( self.askClose.close) self.askClose.button(QDialogButtonBox.Yes).clicked.connect(self.close) self.askClose.show() @Slot() def on_warningButton_clicked(self): self.warning = FramelessWarningMessageBox(self) self.warning.setText("Frameless warning message box test text!") self.warning.show() if __name__ == '__main__': logger = OutputLogger() qInstallMessageHandler(qt_message_handler) # qrainbowstyle.useDarwinButtons() # qrainbowstyle.alignButtonsLeft() app = QApplication(sys.argv) app.setStyleSheet(qrainbowstyle.load_stylesheet(style="qdarkstyle3")) window = BaseWindow() window.show() sys.exit(app.exec_())
self.sb_lines.value(), self.sb_line_length.value(), self.sb_line_width.value(), self.sb_rev_s.value(), self.spinner.color.getRgb()[:3]) msg_box = QMessageBox(text=text) msg_box.setWindowTitle('Text was copied to clipboard') cb = QApplication.clipboard() cb.clear(mode=cb.Clipboard) cb.setText(text, mode=cb.Clipboard) print(text) msg_box.exec_() def fadeIn(self): self.spinner.fadeIn() def fadeOut(self): self.spinner.fadeOut() if __name__ == '__main__': qInstallMessageHandler(qt_message_handler) app = QApplication(sys.argv) app.setStyleSheet(qrainbowstyle.load_stylesheet()) win = qrainbowstyle.windows.FramelessWindow() main = Demo() win.addContentWidget(main) win.show() sys.exit(app.exec())
QtWidgets.QMessageBox.about(self, "Third party", third_party) def toggle_theme(self): if not self.btn_change_theme.isChecked(): app.setStyleSheet( qdarkstyle.load_stylesheet(qt_api="pyside2", palette=DarkPalette)) else: app.setStyleSheet( qdarkstyle.load_stylesheet(qt_api="pyside2", palette=LightPalette)) def exit(self): sys.exit() if __name__ == "__main__": print( "\n" + appname + " Copyright (C) 2020 " + authors[0] + ".\nEste programa viene con ABSOLUTAMENTE NINGUNA GARANTÍA.\nEsto es software libre, y le invitamos a redistribuirlo\nbajo ciertas condiciones.\nPor favor, leer el archivo README." ) app = QApplication(sys.argv) app.setStyleSheet( qdarkstyle.load_stylesheet(qt_api="pyside2", palette=DarkPalette)) window = MainWindow() window.show() sys.exit(app.exec_())
self.start_button = QPushButton("Start", self) self.start_button.clicked.connect(self.tableModel.start) self.main_widget.addWidget(self.start_button) if __name__ == '__main__': log = Logger() qInstallMessageHandler(qt_message_handler) def exception_hook(exctype, value, tb): logging.critical(''.join(traceback.format_exception( exctype, value, tb))) sys.exit(1) sys.excepthook = exception_hook QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps) QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) QApplication.setQuitOnLastWindowClosed(True) app = QApplication(sys.argv) app.setStyleSheet(qrainbowstyle.load_stylesheet(style="oceanic")) win = MainWindow() win.createRequests() win.show() win.setupAlgorithms() sys.exit(app.exec())
def _main(args): # To avoid problems when testing without screen if args.test or args.screenshots: os.environ['QT_QPA_PLATFORM'] = 'offscreen' # Set QT_API variable before importing QtPy if args.qt_from in ['pyqt', 'pyqt5', 'pyside', 'pyside2']: os.environ['QT_API'] = args.qt_from elif args.qt_from == 'pyqtgraph': os.environ['QT_API'] = os.environ['PYQTGRAPH_QT_LIB'] elif args.qt_from in ['qt.py', 'qt']: try: import Qt except ImportError: print('Could not import Qt (Qt.Py)') else: os.environ['QT_API'] = Qt.__binding__ # QtPy imports from qtpy import API_NAME, QT_VERSION, PYQT_VERSION, PYSIDE_VERSION from qtpy import __version__ as QTPY_VERSION from qtpy.QtWidgets import (QApplication, QMainWindow, QDockWidget, QStatusBar, QLabel, QMenu) from qtpy.QtCore import QTimer, Qt, QSettings # Set API_VERSION variable API_VERSION = '' if PYQT_VERSION: API_VERSION = PYQT_VERSION elif PYSIDE_VERSION: API_VERSION = PYSIDE_VERSION else: API_VERSION = 'Not found' # Import examples UI from mw_menus_ui import Ui_MainWindow as ui_main from dw_buttons_ui import Ui_DockWidget as ui_buttons from dw_displays_ui import Ui_DockWidget as ui_displays from dw_inputs_fields_ui import Ui_DockWidget as ui_inputs_fields from dw_inputs_no_fields_ui import Ui_DockWidget as ui_inputs_no_fields from dw_widgets_ui import Ui_DockWidget as ui_widgets from dw_views_ui import Ui_DockWidget as ui_views from dw_containers_tabs_ui import Ui_DockWidget as ui_containers_tabs from dw_containers_no_tabs_ui import Ui_DockWidget as ui_containers_no_tabs # qrainbowstyle.useDarwinButtons() QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps) QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) # create the application if not QApplication.instance(): app = QApplication(sys.argv) else: app = QApplication.instance() app.setOrganizationName('QRainbowStyle') app.setApplicationName('QRainbowStyle Example') styles = qrainbowstyle.getAvailableStyles() style = args.style if not args.style: style = styles[random.randint(0, len(styles)) - 1] app.setStyleSheet(qrainbowstyle.load_stylesheet(style=str(style))) # create main window window = qrainbowstyle.windows.FramelessWindow() window.setTitlebarHeight(30) widget = QMainWindow(window) widget.setWindowFlags(Qt.Widget) widget.setObjectName('mainwindow') ui = ui_main() ui.setupUi(widget) window.addContentWidget(widget) title = ("QRainbowStyle Example - " + "(QRainbowStyle=v" + qrainbowstyle.__version__ + ", QtPy=v" + QTPY_VERSION + ", " + API_NAME + "=v" + API_VERSION + ", Qt=v" + QT_VERSION + ", Python=v" + platform.python_version() + ")") _logger.info(title) window.setWindowTitle(title) # Create docks for buttons dw_buttons = QDockWidget() dw_buttons.setObjectName('buttons') ui_buttons = ui_buttons() ui_buttons.setupUi(dw_buttons) widget.addDockWidget(Qt.RightDockWidgetArea, dw_buttons) # Add actions on popup toolbuttons menu = QMenu() for action in ['Action A', 'Action B', 'Action C']: menu.addAction(action) ui_buttons.toolButtonDelayedPopup.setMenu(menu) ui_buttons.toolButtonInstantPopup.setMenu(menu) ui_buttons.toolButtonMenuButtonPopup.setMenu(menu) # Create docks for buttons dw_displays = QDockWidget() dw_displays.setObjectName('displays') ui_displays = ui_displays() ui_displays.setupUi(dw_displays) widget.addDockWidget(Qt.RightDockWidgetArea, dw_displays) # Create docks for inputs - no fields dw_inputs_no_fields = QDockWidget() dw_inputs_no_fields.setObjectName('inputs_no_fields') ui_inputs_no_fields = ui_inputs_no_fields() ui_inputs_no_fields.setupUi(dw_inputs_no_fields) widget.addDockWidget(Qt.RightDockWidgetArea, dw_inputs_no_fields) # Create docks for inputs - fields dw_inputs_fields = QDockWidget() dw_inputs_fields.setObjectName('inputs_fields') ui_inputs_fields = ui_inputs_fields() ui_inputs_fields.setupUi(dw_inputs_fields) widget.addDockWidget(Qt.RightDockWidgetArea, dw_inputs_fields) # Create docks for widgets dw_widgets = QDockWidget() dw_widgets.setObjectName('widgets') ui_widgets = ui_widgets() ui_widgets.setupUi(dw_widgets) widget.addDockWidget(Qt.LeftDockWidgetArea, dw_widgets) # Create docks for views dw_views = QDockWidget() dw_views.setObjectName('views') ui_views = ui_views() ui_views.setupUi(dw_views) widget.addDockWidget(Qt.LeftDockWidgetArea, dw_views) # Create docks for containers - no tabs dw_containers_no_tabs = QDockWidget() dw_containers_no_tabs.setObjectName('containers_no_tabs') ui_containers_no_tabs = ui_containers_no_tabs() ui_containers_no_tabs.setupUi(dw_containers_no_tabs) widget.addDockWidget(Qt.LeftDockWidgetArea, dw_containers_no_tabs) # Create docks for containters - tabs dw_containers_tabs = QDockWidget() dw_containers_tabs.setObjectName('containers_tabs') ui_containers_tabs = ui_containers_tabs() ui_containers_tabs.setupUi(dw_containers_tabs) widget.addDockWidget(Qt.LeftDockWidgetArea, dw_containers_tabs) # Tabify right docks widget.tabifyDockWidget(dw_buttons, dw_displays) widget.tabifyDockWidget(dw_displays, dw_inputs_fields) widget.tabifyDockWidget(dw_inputs_fields, dw_inputs_no_fields) # Tabify left docks widget.tabifyDockWidget(dw_containers_no_tabs, dw_containers_tabs) widget.tabifyDockWidget(dw_containers_tabs, dw_widgets) widget.tabifyDockWidget(dw_widgets, dw_views) # Issues #9120, #9121 on Spyder qstatusbar = QStatusBar() qstatusbar.addWidget(QLabel('Style')) qstatusbarbutton = qrainbowstyle.widgets.StylePickerHorizontal() qstatusbar.addWidget(qstatusbarbutton) qstatusbar.setSizeGripEnabled(False) # Add info also in status bar for screenshots get it qstatusbar.addWidget(QLabel('INFO: ' + title)) widget.setStatusBar(qstatusbar) # Todo: add report info and other info in HELP graphical # Auto quit after 2s when in test mode if args.test: QTimer.singleShot(2000, app.exit) _read_settings(widget, args.reset, QSettings) window.show() # window.showMaximized() app.exec_() _write_settings(widget, QSettings)