def __init__(self, opc=None): super(MainWindow, self).__init__() self.opc = opc self.setWindowTitle('OPC DA Datalogger') self.layout = QHBoxLayout(self) self.configuration = Configuration(self, opc) self.configuration_dock = QDockWidget("Configuration", self) self.configuration_dock.setWidget(self.configuration) self.configuration_dock.setFeatures(QDockWidget.NoDockWidgetFeatures) self.addDockWidget(Qt.LeftDockWidgetArea, self.configuration_dock) self.logging_area = LoggingArea(self) self.logging_dock = QDockWidget("Logging", self) self.logging_dock.setWidget(self.logging_area) self.logging_dock.setFeatures(QDockWidget.NoDockWidgetFeatures) self.addDockWidget(Qt.RightDockWidgetArea, self.logging_dock) self.setLayout(self.layout) self.resize(900, 600) self.logging_timer = QTimer(self) self.logging_timer.timeout.connect(self._loogging_callback)
def _init_widgets(self): main = QMainWindow() main.setWindowFlags(Qt.Widget) # main.setCorner(Qt.TopLeftCorner, Qt.TopDockWidgetArea) # main.setCorner(Qt.TopRightCorner, Qt.RightDockWidgetArea) pathtree = QPathTree(self, self.workspace, parent=main) pathtree_dock = QDockWidget('PathTree', pathtree) main.setCentralWidget(pathtree_dock) # main.addDockWidget(Qt.BottomDockWidgetArea, pathtree_dock) pathtree_dock.setWidget(pathtree) simgrs_logic = self.workspace.instance.simgrs if self.workspace.instance is not None else None simgrs = QSimulationManagers(simgrs_logic, main) pathgroups_dock = QDockWidget('SimulationManagers', simgrs) main.addDockWidget(Qt.RightDockWidgetArea, pathgroups_dock) pathgroups_dock.setWidget(simgrs) state_viewer = StateInspector(self.workspace, parent=self) state_viewer_dock = QDockWidget('Selected State', state_viewer) main.addDockWidget(Qt.RightDockWidgetArea, state_viewer_dock) state_viewer_dock.setWidget(state_viewer) self._pathtree = pathtree self._simgrs = simgrs self._state_viewer = state_viewer main_layout = QHBoxLayout() main_layout.addWidget(main) main_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(main_layout)
def _init_widgets(self): main = QMainWindow() main.setWindowFlags(Qt.Widget) # main.setCorner(Qt.TopLeftCorner, Qt.TopDockWidgetArea) # main.setCorner(Qt.TopRightCorner, Qt.RightDockWidgetArea) pathtree = QPathTree(self, self.workspace, parent=main) pathtree_dock = QDockWidget('PathTree', pathtree) main.setCentralWidget(pathtree_dock) # main.addDockWidget(Qt.BottomDockWidgetArea, pathtree_dock) pathtree_dock.setWidget(pathtree) simgrs_logic = self.workspace.instance.simgrs if self.workspace.instance is not None else None simgrs = QSimulationManagers(simgrs_logic, main) pathgroups_dock = QDockWidget('SimulationManagers', simgrs) main.addDockWidget(Qt.RightDockWidgetArea, pathgroups_dock) pathgroups_dock.setWidget(simgrs) reg_viewer = QRegisterViewer(self) reg_viewer_dock = QDockWidget('Register Viewer', reg_viewer) main.addDockWidget(Qt.RightDockWidgetArea, reg_viewer_dock) reg_viewer_dock.setWidget(reg_viewer) mem_viewer = QMemoryViewer(self) mem_viewer_dock = QDockWidget('Memory Viewer', mem_viewer) main.addDockWidget(Qt.RightDockWidgetArea, mem_viewer_dock) mem_viewer_dock.setWidget(mem_viewer) vextemps_viewer = QVEXTempsViewer(self) vextemps_viewer_dock = QDockWidget('VEX Temps Viewer', vextemps_viewer) main.addDockWidget(Qt.RightDockWidgetArea, vextemps_viewer_dock) vextemps_viewer_dock.setWidget(vextemps_viewer) main.tabifyDockWidget(reg_viewer_dock, mem_viewer_dock) main.tabifyDockWidget(mem_viewer_dock, vextemps_viewer_dock) reg_viewer_dock.raise_() self._pathtree = pathtree self._simgrs = simgrs self._register_viewer = reg_viewer self._memory_viewer = mem_viewer self._vextemps_viewer = vextemps_viewer main_layout = QHBoxLayout() main_layout.addWidget(main) main_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(main_layout)
def initList(self): self.leftDock = QDockWidget() self.leftDock.setFeatures( QDockWidget.DockWidgetFeature.NoDockWidgetFeatures) QApplication.instance().doclist = QListWidget() QApplication.instance().doclist.itemDoubleClicked.connect( openDocumentAction) self.leftDock.setWidget(QApplication.instance().doclist) self.leftDock.setAllowedAreas(Qt.LeftDockWidgetArea) self.addDockWidget(Qt.LeftDockWidgetArea, self.leftDock)
def _init_widgets(self): main = QMainWindow() main.setWindowFlags(Qt.Widget) # main.setCorner(Qt.TopLeftCorner, Qt.TopDockWidgetArea) # main.setCorner(Qt.TopRightCorner, Qt.RightDockWidgetArea) pathtree = QPathTree(self, main) pathtree_dock = QDockWidget('PathTree', pathtree) main.setCentralWidget(pathtree_dock) # main.addDockWidget(Qt.BottomDockWidgetArea, pathtree_dock) pathtree_dock.setWidget(pathtree) pathgroups_logic = self.workspace.instance.path_groups if self.workspace.instance is not None else None pathgroups = QPathGroups(pathgroups_logic, main) pathgroups_dock = QDockWidget('PathGroups', pathgroups) main.addDockWidget(Qt.RightDockWidgetArea, pathgroups_dock) pathgroups_dock.setWidget(pathgroups) reg_viewer = QRegisterViewer(self) reg_viewer_dock = QDockWidget('Register Viewer', reg_viewer) main.addDockWidget(Qt.RightDockWidgetArea, reg_viewer_dock) reg_viewer_dock.setWidget(reg_viewer) mem_viewer = QMemoryViewer(self) mem_viewer_dock = QDockWidget('Memory Viewer', mem_viewer) main.addDockWidget(Qt.RightDockWidgetArea, mem_viewer_dock) mem_viewer_dock.setWidget(mem_viewer) main.tabifyDockWidget(reg_viewer_dock, mem_viewer_dock) self._pathtree = pathtree self._pathgroups = pathgroups self._register_viewer = reg_viewer self._memory_viewer = mem_viewer main_layout = QHBoxLayout() main_layout.addWidget(main) main_layout.setContentsMargins(0, 0, 0, 0) self.setLayout(main_layout)
def setup_sidebar(self): self.sidebar = sidebar = QDockWidget() sidebar.setAllowedAreas(Qt.LeftDockWidgetArea) sidebar.setFeatures(QDockWidget.NoDockWidgetFeatures) sidebar.setFixedWidth(240) widget = QWidget(sidebar) # add stuff here # provide a callback? sidebar.setWidget(widget) print(sidebar.size()) self.main.addDockWidget(Qt.LeftDockWidgetArea, sidebar)
def __init__(self): super(QtTrajectoryViewer, self).__init__() self.controls = QDockWidget() # Eliminate the dock titlebar title_widget = QtGui.QWidget(self) self.controls.setTitleBarWidget(title_widget) traj_controls = TrajectoryControls(self) self.controls.setWidget(traj_controls) # Molecular viewer self.widget = QChemlabWidget(self) self.setCentralWidget(self.widget) self.addDockWidget(Qt.DockWidgetArea(Qt.BottomDockWidgetArea), self.controls) self.show() # Replace in this way traj_controls.frame_changed.connect(self.on_frame_changed) self.traj_controls = traj_controls
def main(): """Execute QDarkStyle example.""" parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument( '--qt_from', default='qtpy', choices=['pyqt', 'pyqt5', 'pyside', 'pyside2', 'qtpy', 'pyqtgraph'], help="Choose which wrapper/framework is to be used to run the example.", type=str) parser.add_argument( '--no_dark', action='store_true', help="Exihibts the original window (without qdarkstyle).") 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).") parser.add_argument('--screenshots', action='store_true', help="Generate screenshots.") # parsing arguments from command line args = parser.parse_args() # set log for debug logging.basicConfig(level=logging.DEBUG) # to avoid problems when testing without screen if args.test: os.environ['QT_QPA_PLATFORM'] = 'offscreen' if args.qt_from == 'pyside': # using PySide wrapper from PySide.QtGui import QApplication, QMainWindow, QDockWidget, QStatusBar, QLabel, QPushButton from PySide.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize # import examples UI according to wrapper from ui.mw_menus_pyside_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyside_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyside_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyside_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_pyside_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_pyside_ui import Ui_DockWidget as ui_widgets from ui.dw_views_pyside_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_pyside_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_pyside_ui import Ui_DockWidget as ui_containers_no_tabs # Getting style style_method = qdarkstyle.load_stylesheet_pyside elif args.qt_from == 'pyqt': # using PyQt4 wrapper from PyQt4.QtGui import QApplication, QMainWindow, QDockWidget, QStatusBar, QLabel, QPushButton from PyQt4.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize # import examples UI according to wrapper from ui.mw_menus_pyqt_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyqt_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyqt_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyqt_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_pyqt_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_pyqt_ui import Ui_DockWidget as ui_widgets from ui.dw_views_pyqt_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_pyqt_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_pyqt_ui import Ui_DockWidget as ui_containers_no_tabs # Getting style style_method = qdarkstyle.load_stylesheet_pyqt elif args.qt_from == 'pyqt5': # using PyQt5 wrapper from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget, QStatusBar, QLabel, QPushButton from PyQt5.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize # import examples UI according to wrapper from ui.mw_menus_pyqt5_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyqt5_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyqt5_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyqt5_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_pyqt5_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_pyqt5_ui import Ui_DockWidget as ui_widgets from ui.dw_views_pyqt5_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_pyqt5_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_pyqt5_ui import Ui_DockWidget as ui_containers_no_tabs # Getting style style_method = qdarkstyle.load_stylesheet_pyqt5 elif args.qt_from == 'pyside2': # using PyQt5 wrapper from PySide2.QtWidgets import QApplication, QMainWindow, QDockWidget, QStatusBar, QLabel, QPushButton from PySide2.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize # import examples UI according to wrapper from ui.mw_menus_pyside2_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyside2_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyside2_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyside2_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_pyside2_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_pyside2_ui import Ui_DockWidget as ui_widgets from ui.dw_views_pyside2_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_pyside2_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_pyside2_ui import Ui_DockWidget as ui_containers_no_tabs # Getting style style_method = qdarkstyle.load_stylesheet_pyside2 elif args.qt_from == 'qtpy': # using QtPy API from qtpy.QtWidgets import QApplication, QMainWindow, QDockWidget, QStatusBar, QLabel, QPushButton from qtpy.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize # import examples UI according to wrapper from ui.mw_menus_qtpy_ui import Ui_MainWindow as ui_main from ui.dw_buttons_qtpy_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_qtpy_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_qtpy_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_qtpy_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_qtpy_ui import Ui_DockWidget as ui_widgets from ui.dw_views_qtpy_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_qtpy_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_qtpy_ui import Ui_DockWidget as ui_containers_no_tabs # Getting style style_method = qdarkstyle.load_stylesheet_from_environment elif args.qt_from == 'pyqtgraph': # using PyQtGraph API from pyqtgraph.Qt.QtGui import QApplication, QMainWindow, QDockWidget, QStatusBar, QLabel, QPushButton from pyqtgraph.Qt.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize #from pyqtgraph.Qt import QtGui, QtCore # import examples UI according to wrapper from ui.mw_menus_pyqtgraph_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyqtgraph_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyqtgraph_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyqtgraph_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_pyqtgraph_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_pyqtgraph_ui import Ui_DockWidget as ui_widgets from ui.dw_views_pyqtgraph_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_pyqtgraph_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_pyqtgraph_ui import Ui_DockWidget as ui_containers_no_tabs # Getting style style_method = lambda: qdarkstyle.load_stylesheet_from_environment( is_pyqtgraph=True) def write_settings(window): """Get window settings and write it into a file.""" settings = QSettings('QDarkStyle', 'QDarkStyle Example') settings.setValue('pos', window.pos()) settings.setValue('size', window.size()) settings.setValue('state', window.saveState()) def read_settings(window, reset=False): """Read and set window settings from a file.""" settings = QSettings('QDarkStyle', 'QDarkStyle Example') try: pos = settings.value('pos', window.pos()) size = settings.value('size', window.size()) state = settings.value('state', window.saveState()) except Exception: pos = settings.value('pos', window.pos(), type='QPoint') size = settings.value('size', window.size(), type='QSize') state = settings.value('state', window.saveState(), type='QByteArray') if not reset: window.restoreState(state) window.resize(size) window.move(pos) # create the application app = QApplication(sys.argv) app.setOrganizationName('QDarkStyle') app.setApplicationName('QDarkStyle Example') # setup stylesheet style = '' if args.no_dark is False: style = style_method() app.setStyleSheet(style) # create main window window = QMainWindow() window.setObjectName('mainwindow') ui = ui_main() ui.setupUi(window) window.setWindowTitle("QDarkStyle v." + qdarkstyle.__version__) # 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) # 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('_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') 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 right 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')) window.setStatusBar(qstatusbar) # auto quit after 2s when testing on travis-ci if args.test: QTimer.singleShot(2000, app.exit) # run read_settings(window, args.reset) window.showMaximized() # Save screenshots for differents displays and quit if args.screenshots: window.showFullScreen() QTimer.singleShot( 1000, lambda: create_screenshots(app, window, not args.no_dark)) app.exec_() write_settings(window)
def main(): """Execute QDarkStyle example.""" parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument( '--qt_from', default='pyqt', choices=['pyqt', 'pyqt5', 'pyside', 'qtpy', 'pyqtgraph'], help="Choose which wrapper/framework is to be used to run the example.", type=str) parser.add_argument( '--no_dark', action='store_true', help="Exihibts the original window (without qdarkstyle).") parser.add_argument('--test', action='store_true', help="Auto close window after 2s.") # parsing arguments from command line args = parser.parse_args() # set log for debug logging.basicConfig(level=logging.DEBUG) if args.qt_from == 'pyside': # using PySide wrapper from PySide.QtGui import QApplication, QMainWindow, QDockWidget from PySide.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize # import examples UI according to wrapper from ui.mw_menus_pyside_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyside_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyside_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyside_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_pyside_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_pyside_ui import Ui_DockWidget as ui_widgets from ui.dw_views_pyside_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_pyside_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_pyside_ui import Ui_DockWidget as ui_containers_no_tabs # getting style style = qdarkstyle.load_stylesheet_pyside() elif args.qt_from == 'pyqt': # using PyQt4 wrapper from PyQt4.QtGui import QApplication, QMainWindow, QDockWidget from PyQt4.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize # import examples UI according to wrapper from ui.mw_menus_pyqt_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyqt_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyqt_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyqt_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_pyqt_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_pyqt_ui import Ui_DockWidget as ui_widgets from ui.dw_views_pyqt_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_pyqt_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_pyqt_ui import Ui_DockWidget as ui_containers_no_tabs # getting style style = qdarkstyle.load_stylesheet_pyqt() elif args.qt_from == 'pyqt5': # using PyQt5 wrapper from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget from PyQt5.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize # import examples UI according to wrapper from ui.mw_menus_pyqt5_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyqt5_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyqt5_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyqt5_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_pyqt5_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_pyqt5_ui import Ui_DockWidget as ui_widgets from ui.dw_views_pyqt5_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_pyqt5_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_pyqt5_ui import Ui_DockWidget as ui_containers_no_tabs # getting style style = qdarkstyle.load_stylesheet_pyqt5() elif args.qt_from == 'qtpy': # using QtPy API from qtpy.QtWidgets import QApplication, QMainWindow, QDockWidget from qtpy.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize # import examples UI according to wrapper from ui.mw_menus_qtpy_ui import Ui_MainWindow as ui_main from ui.dw_buttons_qtpy_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_qtpy_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_qtpy_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_qtpy_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_qtpy_ui import Ui_DockWidget as ui_widgets from ui.dw_views_qtpy_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_qtpy_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_qtpy_ui import Ui_DockWidget as ui_containers_no_tabs # getting style style = qdarkstyle.load_stylesheet_from_environment() elif args.qt_from == 'pyqtgraph': # using PyQtGraph API from pyqtgraph.Qt.QtGui import QApplication, QMainWindow, QDockWidget from pyqtgraph.Qt.QtCore import QTimer, Qt, QSettings, QByteArray, QPoint, QSize #from pyqtgraph.Qt import QtGui, QtCore # import examples UI according to wrapper from ui.mw_menus_pyqtgraph_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyqtgraph_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyqtgraph_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyqtgraph_ui import Ui_DockWidget as ui_inputs_fields from ui.dw_inputs_no_fields_pyqtgraph_ui import Ui_DockWidget as ui_inputs_no_fields from ui.dw_widgets_pyqtgraph_ui import Ui_DockWidget as ui_widgets from ui.dw_views_pyqtgraph_ui import Ui_DockWidget as ui_views from ui.dw_containers_tabs_pyqtgraph_ui import Ui_DockWidget as ui_containers_tabs from ui.dw_containers_no_tabs_pyqtgraph_ui import Ui_DockWidget as ui_containers_no_tabs # getting style style = qdarkstyle.load_stylesheet_from_environment(is_pyqtgraph=True) if args.no_dark: style = '' def write_settings(window): """Get window settings and write it into a file.""" settings = QSettings('QDarkStyle', 'QDarkStyle Example') settings.setValue('pos', window.pos()) settings.setValue('size', window.size()) settings.setValue('state', window.saveState()) def read_settings(window): """Read and set window settings from a file.""" settings = QSettings('QDarkStyle', 'QDarkStyle Example') if args.qt_from == 'pyside': pos = settings.value('pos', window.pos()) size = settings.value('size', window.size()) state = settings.value('state', window.saveState()) else: pos = settings.value('pos', window.pos(), type='QPoint') size = settings.value('size', window.size(), type='QSize') state = settings.value('state', window.saveState(), type='QByteArray') window.restoreState(state) window.resize(size) window.move(pos) # create the application app = QApplication(sys.argv) app.setOrganizationName('QDarkStyle') app.setApplicationName('QDarkStyle Example') # setup stylesheet app.setStyleSheet(style) # create main window window = QMainWindow() window.setObjectName('mainwindow') ui = ui_main() ui.setupUi(window) window.setWindowTitle("QDarkStyle v." + qdarkstyle.__version__ + " - Example - Using " + args.qt_from) # 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) # 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 - fields dw_inputs_fields = QDockWidget() dw_inputs_fields.setObjectName('_fields') ui_inputs_fields = ui_inputs_fields() ui_inputs_fields.setupUi(dw_inputs_fields) window.addDockWidget(Qt.RightDockWidgetArea, dw_inputs_fields) # 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 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 containters - tabs dw_containers_tabs = QDockWidget() dw_containers_tabs.setObjectName('containers') ui_containers_tabs = ui_containers_tabs() ui_containers_tabs.setupUi(dw_containers_tabs) window.addDockWidget(Qt.LeftDockWidgetArea, dw_containers_tabs) # 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) # 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) # auto quit after 2s when testing on travis-ci if "--test" in sys.argv: QTimer.singleShot(2000, app.exit) # run read_settings(window) window.showMaximized() app.exec_() write_settings(window)
def initDock (self ): dock =QDockWidget ("foboard",self ) dock .setAllowedAreas (Qt .TopDockWidgetArea |Qt .BottomDockWidgetArea ) dock .setWidget (self .foboard ) self .addDockWidget (Qt .BottomDockWidgetArea ,dock )
def initDock (self ): dock =QDockWidget ("binctrl",self ) dock .setAllowedAreas (Qt .TopDockWidgetArea |Qt .BottomDockWidgetArea ) dock .setWidget (QkFoBoard ()) self .addDockWidget (Qt .BottomDockWidgetArea ,dock )
def main(): """Execute QDarkStyle example.""" parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument( '--qt_from', default='pyqt', choices=['pyqt', 'pyqt5', 'pyside', 'qtpy', 'pyqtgraph'], help="Choose which wrapper/framework is to be used to run the example.", type=str) parser.add_argument( '--no_dark', action='store_true', help="Exihibts the original window (without qdarkstyle).") parser.add_argument('--test', action='store_true', help="Auto close window after 2s.") # parsing arguments from command line args = parser.parse_args() # set log for debug logging.basicConfig(level=logging.DEBUG) if args.qt_from == 'pyside': # using PySide wrapper from PySide.QtGui import QApplication, QMainWindow, QDockWidget from PySide.QtCore import QTimer, Qt # import examples UI according to wrapper from ui.mw_views_widgets_containers_pyside_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyside_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyside_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyside_ui import Ui_DockWidget as ui_inputs from ui.dw_inputs_no_fields_pyside_ui import Ui_DockWidget as ui_inputs_no_fields # getting style style = qdarkstyle.load_stylesheet_pyside() elif args.qt_from == 'pyqt': # using PyQt4 wrapper from PyQt4.QtGui import QApplication, QMainWindow, QDockWidget from PyQt4.QtCore import QTimer, Qt # import examples UI according to wrapper from ui.mw_views_widgets_containers_pyqt_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyqt_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyqt_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyqt_ui import Ui_DockWidget as ui_inputs from ui.dw_inputs_no_fields_pyqt_ui import Ui_DockWidget as ui_inputs_no_fields # getting style style = qdarkstyle.load_stylesheet_pyqt() elif args.qt_from == 'pyqt5': # using PyQt5 wrapper from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget from PyQt5.QtCore import QTimer, Qt # import examples UI according to wrapper from ui.mw_views_widgets_containers_pyqt5_ui import Ui_MainWindow as ui_main from ui.dw_buttons_pyqt5_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_pyqt5_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_pyqt5_ui import Ui_DockWidget as ui_inputs from ui.dw_inputs_no_fields_pyqt5_ui import Ui_DockWidget as ui_inputs_no_fields # getting style style = qdarkstyle.load_stylesheet_pyqt5() elif args.qt_from == 'qtpy': # using QtPy API from qtpy.QtWidgets import QApplication, QMainWindow, QDockWidget from qtpy.QtCore import QTimer, Qt # import examples UI according to wrapper from ui.mw_views_widgets_containers_qtpy_ui import Ui_MainWindow as ui_main from ui.dw_buttons_qtpy_ui import Ui_DockWidget as ui_buttons from ui.dw_displays_qtpy_ui import Ui_DockWidget as ui_displays from ui.dw_inputs_fields_qtpy_ui import Ui_DockWidget as ui_inputs from ui.dw_inputs_no_fields_qtpy_ui import Ui_DockWidget as ui_inputs_no_fields # getting style style = qdarkstyle.load_stylesheet_from_environment() elif args.qt_from == 'pyqtgraph': # using PyQtGraph API from pyqtgraph.Qt import QtGui, QtCore # import examples UI according to wrapper from ui.mw_views_widgets_containers_pyqtgraph_ui import Ui_MainWindow as ui_main from ui.mw_dw_buttons_pyqtgraph_ui import Ui_DockWidget as ui_buttons from ui.mw_dw_displays_pyqtgraph_ui import Ui_DockWidget as ui_displays from ui.mw_dw_inputs_fields_pyqtgraph_ui import Ui_DockWidget as ui_inputs from ui.mw_dw_inputs_no_fields_pyqtgraph_ui import Ui_DockWidget as ui_inputs_no_fields # getting style style = qdarkstyle.load_stylesheet_from_environment(is_pyqtgraph=True) if args.no_dark: style = '' # create the application app = QApplication(sys.argv) # setup stylesheet app.setStyleSheet(style) # create main window window = QMainWindow() ui = ui_main() ui.setupUi(window) window.setWindowTitle("QDarkStyle v." + qdarkstyle.__version__ + " - Example - Using " + args.qt_from) # create docks for buttons dw_buttons = QDockWidget() ui_buttons = ui_buttons() ui_buttons.setupUi(dw_buttons) window.addDockWidget(Qt.RightDockWidgetArea, dw_buttons) # create docks for buttons dw_displays = QDockWidget() ui_displays = ui_displays() ui_displays.setupUi(dw_displays) window.addDockWidget(Qt.RightDockWidgetArea, dw_displays) # create docks for inputs - fields dw_inputs = QDockWidget() ui_inputs = ui_inputs() ui_inputs.setupUi(dw_inputs) window.addDockWidget(Qt.RightDockWidgetArea, dw_inputs) # create docks for inputs - no fields dw_inputs_no_field = QDockWidget() ui_inputs_no_field = ui_inputs_no_fields() ui_inputs_no_field.setupUi(dw_inputs_no_field) window.addDockWidget(Qt.RightDockWidgetArea, dw_inputs_no_field) # tabify docks window.tabifyDockWidget(dw_buttons, dw_displays) window.tabifyDockWidget(dw_displays, dw_inputs) window.tabifyDockWidget(dw_inputs, dw_inputs_no_field) # connect some actions, signals and functions # auto quit after 2s when testing on travis-ci if "--test" in sys.argv: QTimer.singleShot(2000, app.exit) # run window.showMaximized() app.exec_()
def __init__(self): super(QtTrajectoryViewer, self).__init__() self.controls = QDockWidget() self._timer = QtCore.QTimer(self) self._timer.timeout.connect(self.do_update) # Eliminate the dock titlebar title_widget = QtGui.QWidget(self) self.controls.setTitleBarWidget(title_widget) vb = QtGui.QVBoxLayout() hb = QtGui.QHBoxLayout() # For controls containerhb2 = QtGui.QWidget(self) hb2 = QtGui.QHBoxLayout() # For settings containerhb2.setLayout(hb2) containerhb2.setSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) vb.addWidget(containerhb2) vb.addLayout(hb) self.vb = vb # Settings buttons hb2.addWidget(QtGui.QLabel('Speed')) self._speed_slider = QtGui.QSlider(Qt.Horizontal) self._speed_slider.resize(100, self._speed_slider.height()) self._speed_slider.setSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) self.speeds = np.linspace(15, 250, 11).astype(int) self.speeds = self.speeds.tolist() self.speeds.reverse() self._speed_slider.setMaximum(10) self._speed_slider.setValue(7) self._speed_slider.valueChanged.connect(self.on_speed_changed) hb2.addWidget(self._speed_slider) hb2.addStretch(1) wrapper = QtGui.QWidget() wrapper.setLayout(vb) # Molecular viewer self.widget = QChemlabWidget(self) self.setCentralWidget(self.widget) # Control buttons self.play_stop = PlayStopButton() hb.addWidget(self.play_stop) self.slider = AnimationSlider() hb.addWidget(self.slider, 2) self._label_tmp = '<b><FONT SIZE=30>{}</b>' self.timelabel = QtGui.QLabel(self._label_tmp.format('0.0')) hb.addWidget(self.timelabel) self._settings_button = QtGui.QPushButton() self._settings_button.setStyleSheet(''' QPushButton { width: 30px; height: 30px; }''') icon = QtGui.QIcon(os.path.join(resources_dir, 'settings_icon.svg')) self._settings_button.setIcon(icon) self._settings_button.clicked.connect(self._toggle_settings) hb.addWidget(self._settings_button) self.controls.setWidget(wrapper) self.addDockWidget(Qt.DockWidgetArea(Qt.BottomDockWidgetArea), self.controls) self._settings_pan = containerhb2 self.show() self.speed = self.speeds[self._speed_slider.value()] # Connecting all the signals self.play_stop.play.connect(self.on_play) self.play_stop.pause.connect(self.on_pause) self.slider.valueChanged.connect(self.on_slider_change) self.slider.sliderPressed.connect(self.on_slider_down) self.play_stop.setFocus() vb.setSizeConstraint(QtGui.QLayout.SetMaximumSize) containerhb2.setVisible(False)
def __init__(self): super(ConsoleWidget, self).__init__() self.setWindowTitle('1c query') self._connection = None self._home = os.path.expanduser('~/%s' % QApplication.applicationName()) if not os.path.isdir(self._home): os.mkdir(self._home) self.queryToolBar = self.addToolBar('Query') self.queryAction = self.queryToolBar.addAction('Run', self.executeQuery) self.queryAction.setDisabled(True) uri_history = list() path = os.path.join(self._home, 'uri_history.txt') if os.path.isfile(path): uri_history = open(path, 'r').read().split('\n') self.connectionToolBar = self.addToolBar('Connection') self.connectionUriCombo = QComboBox(self) self.connectionUriCombo.setEditable(True) if not uri_history: self.connectionUriCombo.addItem('File="";usr="";pwd="";') self.connectionUriCombo.addItem('Srvr="{host}";Ref="{ref}";Usr="******";Pwd="{password}";') else: self.connectionUriCombo.addItems(uri_history) self.connectionUriCombo.setCurrentIndex(len(uri_history) - 1) self.connectionUriCombo.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Maximum) self.connectionToolBar.addWidget(self.connectionUriCombo) self.onesVersionCombo = QComboBox(self) self.onesVersionCombo.addItems(['8.3', '8.2', '8.1', '8.0']) self.onesVersionCombo.setCurrentIndex(0) self.connectionToolBar.addWidget(self.onesVersionCombo) self.connectAction = self.connectionToolBar.addAction('Connect', self.connectOneS) self.disconnectAction = self.connectionToolBar.addAction('Disconnect', self.disconnectOneS) self.disconnectAction.setDisabled(True) self.logEdit = QPlainTextEdit(self) self.logDock = QDockWidget('Log', self) self.logDock.setWidget(self.logEdit) self.addDockWidget(Qt.BottomDockWidgetArea, self.logDock, Qt.Horizontal) self.splitter = QSplitter(Qt.Vertical, self) self.setCentralWidget(self.splitter) self.sqlEdit = QTextEdit(self) self.sqlEdit.setLineWrapMode(QTextEdit.NoWrap) path = os.path.join(self._home, 'last-sql.txt') if os.path.isfile(path): sql = open(path, 'r').read() self.sqlEdit.setText(sql) self.model = QStandardItemModel(self) self.tableView = QTableView(self) self.tableView.setModel(self.model) self.splitter.addWidget(self.sqlEdit) self.splitter.addWidget(self.tableView) self.splitter.setStretchFactor(0, 3) self.splitter.setStretchFactor(1, 2)