def __init__(self, renderController, parent=None): super(RenderPropWidget, self).__init__(parent=parent) # Three tabs: Visualization, data info and slices self.visParamTabWidget = RenderParameterWidget(renderController) self.dataInfoTabWidget = RenderInfoWidget() self.slicesTabWidget = RenderSlicerParamWidget(renderController) # Create the load dataset widget self.loadDataWidget = QWidget() self.loadDataButton = QPushButton() self.loadDataButton.setText("Load a dataset") layout = QVBoxLayout() layout.setAlignment(Qt.AlignTop) layout.addWidget(self.loadDataButton) self.loadDataWidget.setLayout(layout) # Create the tab widget self.tabWidget = QTabWidget() self.tabWidget.addTab(self.visParamTabWidget, "Visualization") self.tabWidget.addTab(self.slicesTabWidget, "Slices") self.tabWidget.addTab(self.dataInfoTabWidget, "Data info") self.currentTabIndex = 0 self.extraTabWidget = None self.tabWidget.currentChanged.connect(self.tabIndexChanged) layout = QVBoxLayout() layout.addWidget(self.loadDataWidget) self.setLayout(layout)
def __init__(self, boundary_settings, parent=None): super(FoamBoundaryWidget, self).__init__(parent) assert (boundary_settings) # each variable could have empty dict self.setWindowTitle("Add raw dict as boundary settings") self.tabWidget = QTabWidget() self.tabs = OrderedDict() for variable in boundary_settings.keys(): vtab = FoamDictWidget(boundary_settings[variable], self) # accept empty or None self.tabs[variable] = vtab if variable in _VARIABLE_NAMES.keys(): variable_name = _VARIABLE_NAMES[variable] else: variable_name = variable self.tabWidget.addTab(vtab, variable_name) self.tabWidget.resize(300,300) # todo: sizeHint() self.myLayout = QVBoxLayout() help_text = """keys and values are raw string (without ;) e.g. 'uniform (1 0 0)', add all necessary key-value pairs to overwrite automatically generated boundary settings""" self.labelHelpText = QLabel(help_text) self.labelHelpText.setWordWrap(True) self.myLayout.addWidget(self.labelHelpText) self.myLayout.addWidget(self.tabWidget) self.setLayout(self.myLayout)
def setUpClass(cls): super(TestCopyPaste, cls).setUpClass() # operation_definition_cache.refresh() app = QApplication.instance() if app is None: app = QApplication(sys.argv) # Fix issues with combo box that gets cleared too fast app.setEffectEnabled(Qt.UI_AnimateCombo, False) cls.app = app cls.mw = QMainWindow() cls.mw.setMinimumSize(1024, 768) cls.edit_order_widget = EditOrderPartsWidget( None, None, True, cls.remote_documents_service) cls.edit_order_widget._show_blank_order(cls.customer.customer_id) # -TRACE- cls.order_overview_widget = OrderOverviewWidget(None, None, None, True) cls.stack = QTabWidget(None) cls.stack.addTab(cls.edit_order_widget, "Edit order") # -TRACE- cls.stack.addTab(cls.order_overview_widget, "Orders overview") cls.mw.setCentralWidget(cls.stack) cls.mw.show() QTest.qWaitForWindowShown(cls.mw) cls.app.processEvents()
def __init__(self, parent, header, device_settings, firmware_settings, error_codes, *args): QDialog.__init__(self, parent, *args) self.setGeometry(300, 200, 570, 450) self.setWindowTitle("Device information") table_model = DeviceInformationTable(self, header, device_settings) dev_settings_table = QTableView() dev_settings_table.setModel(table_model) table_model = DeviceInformationTable(self, header, firmware_settings) fw_settings_table = QTableView() fw_settings_table.setModel(table_model) table_model = DeviceInformationTable(self, header, error_codes) error_code_table = QTableView() error_code_table.setModel(table_model) # set font # font = QFont("monospace", 10) font = QFont("", 10) dev_settings_table.setFont(font) fw_settings_table.setFont(font) # set column width to fit contents (set font first!) dev_settings_table.resizeColumnsToContents() fw_settings_table.resizeColumnsToContents() error_code_table.resizeColumnsToContents() tab_view = QTabWidget() tab_view.addTab(dev_settings_table, "User settings") tab_view.addTab(fw_settings_table, "Firmware settings") tab_view.addTab(error_code_table, "Error Codes") layout = QVBoxLayout(self) layout.addWidget(tab_view) self.setLayout(layout)
def createWidgets(self): self.extensionLabel = QLabel("&Extension") self.extensionComboBox = QComboBox() for markup in self.state.model.markups(): self.extensionComboBox.addItem(markup) self.tooltips.append((self.extensionComboBox, """\ <p><b>Extension</b></p> <p>Choose the file extension to view and edit its custom markup.</p>""")) self.extensionLabel.setBuddy(self.extensionComboBox) self.helpButton = QPushButton(QIcon(":/help.svg"), "Help") self.tooltips.append( (self.helpButton, "Help on the Custom Markup dialog")) self.addButton = QPushButton(QIcon(":/add.svg"), "&Add...") self.tooltips.append((self.addButton, """\ <p><b>Add</b></p> <p>Add a new custom markup to the index.</p>""")) self.deleteButton = QPushButton(QIcon(":/delete.svg"), "&Delete...") self.tooltips.append((self.deleteButton, """\ <p><b>Delete</b></p> <p>Permanently delete the custom markup from the index's <tt>.xix</tt> file. (Note that <tt>.ucp</tt> custom markup cannot be deleted.)</p>""")) self.closeButton = QPushButton(QIcon(":/dialog-close.svg"), "&Close") self.tooltips.append((self.closeButton, """<p><b>Close</b></p> <p>Close the dialog.</p>""")) self.tabWidget = QTabWidget() self.documentPanel = CustomMarkupPanels.Document.Panel( self.state, self) self.characterPanel = CustomMarkupPanels.Character.Panel( self.state, self) self.tabWidget.addTab(self.documentPanel, "D&ocument") self.tabWidget.addTab(self.characterPanel, "C&haracter")
def __init__(self, boundary_settings, parent=None): super(FoamBoundaryWidget, self).__init__(parent) assert (boundary_settings) # each variable could have empty dict self.tabWidget = QTabWidget() self.tabs = OrderedDict() for variable in boundary_settings.keys(): vtab = FoamDictWidget(boundary_settings[variable], self) # accept empty or None self.tabs[variable] = vtab if variable in _VARIABLE_NAMES.keys(): variable_name = _VARIABLE_NAMES[variable] else: variable_name = variable self.tabWidget.addTab(vtab, variable_name) self.tabWidget.resize(300, 300) self.myLayout = QVBoxLayout() help_text = """keys and values are raw string (without ;) e.g. 'uniform (1 0 0)' leave the table empty if do not want to overwrite setting by raw dict in this table """ self.myLayout.addWidget(QLabel(help_text)) self.myLayout.addWidget(self.tabWidget) self.setLayout(self.myLayout)
def createView(self): """This required function creates the main view container for this module, in this case a QTabWidget to hold all the table views. The rest of the GUI is handled by the superclass. """ self.tabs = QTabWidget() return self.tabs
def setTab(self): self.tabWidget = QTabWidget() self.tabWidget.setStyleSheet( "QTabBar::tab { height: 35px; width: 100px; }") self.tab1 = Tab1_AllRoomClass.Tab1AllRoom() self.tab2 = Tab2_ManagePatientClass.Tab2ManagePatient() self.tabWidget.addTab(self.tab1, "Manage Room") self.tabWidget.addTab(self.tab2, "Patient")
def setupUi(self): self.setWindowTitle('Tab Test') self.tabs = QTabWidget(self) self.setCentralWidget(self.tabs) # QMainWindow inherits QWidget, thus it can simply be added as child # widget tab = ToolbarTabWidget() self.tabs.addTab(tab, 'spam')
def createTabWidget(self): self.tabPanel = QTabWidget() self.tabPanel.addTab(self.createPositionPanel(), "Position") self.tabPanel.addTab(self.createCorporateEventPanel(), "Corporate Event") self.tabPanel.addTab(self.createPnLPanel(), "PnL") self.tabPanel.addTab(self.createReportMovementPanel(), "Report Movement") self.tabPanel.addTab(self.createImporterMovementPanel(), "Import Movement") return self.tabPanel
def setTab(self): self.tabWidget = QTabWidget() self.tabWidget.setStyleSheet(Setting.SS_TabWidget) self.tab1 = Tab1_CalendarClass.Tab1Calendar(self.user, self) self.tab2 = Tab2_PatientClass.Tab2Patient(self.user, self) self.tab3 = Tab3_AppointmentClass.Tab3Appointment(self.user, self) self.tabWidget.addTab(self.tab1, "Dashboard") self.tabWidget.addTab(self.tab2, "Patient") self.tabWidget.addTab(self.tab3, "Appointment")
def testBug909(self): fileName = QFile(adjust_filename('bug_909.ui', __file__)) loader = QUiLoader() main_win = loader.load(fileName) self.assertEqual(sys.getrefcount(main_win), 2) fileName.close() tw = QTabWidget(main_win) main_win.setCentralWidget(tw) main_win.show()
def _init_widgets(self): tab = QTabWidget() self._init_pathgroups_tab(tab) self._init_settings_tab(tab) self._init_avoids_tab(tab) layout = QVBoxLayout() layout.addWidget(tab) layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout)
def __init__(self, parent, title=""): """Construct a TabDialog with the ModuleFrame parent and the given title. """ super(TabDialog, self).__init__(parent) self.setWindowTitle(title) self.tabs = QTabWidget(self) self.setModal(True) # Need a layout to get resizing to work layout = QGridLayout() layout.addWidget(self.tabs, 0, 0) self.setLayout(layout)
def __init__(self): #### self.report_tab_5 = QWidget() self.report_tab_5.setStyleSheet("") self.report_tab_5.setObjectName("report_tab_5") self.horizontalLayout_8 = QHBoxLayout(self.report_tab_5) self.horizontalLayout_8.setObjectName("horizontalLayout_8") self.report_detail_tabWidget = QTabWidget(self.report_tab_5) self.report_detail_tabWidget.setObjectName("report_detail_tabWidget") self.add_tabs() self.horizontalLayout_8.addWidget(self.report_detail_tabWidget) ###signals and slots && other stuffs # self.mainwindow = Ui_MainWindow # just for the ease of finding the attributes in pycharm self.report_detail_tabWidget.currentChanged.connect(self.change_focus) self.report_tab_5.setFocusPolicy(Qt.StrongFocus) self.report_tab_5.focusInEvent = self.change_focus
def __init__(self): super(StartView, self).__init__() self.setWindowTitle("hello") self.resize(1024, 768) # Menu main_menu = self.menuBar() self.create = main_menu.addMenu('&Create') self.run = main_menu.addMenu('&Run') self.report = main_menu.addMenu('&Report') self.help = main_menu.addMenu('&Help') action_batch = self.create.addAction('&Batch') action_case = self.create.addAction('&Case') action_data = self.create.addAction('&Data') action_web = self.create.addAction('&Web') action_run = self.run.addAction('&Run') action_test = self.run.addAction('&Test') action_report = self.report.addAction('&Report') self.connect(action_batch, SIGNAL('triggered()'), self.open_batch) self.connect(action_case, SIGNAL('triggered()'), self.open_case) self.connect(action_test, SIGNAL('triggered()'), self.open_test) self.connect(action_data, SIGNAL('triggered()'), self.open_data) self.connect(action_web, SIGNAL('triggered()'), self.open_web_object) self.connect(action_run, SIGNAL('triggered()'), self.open_run) self.connect(action_report, SIGNAL('triggered()'), self.open_report) # Dock self.dock_category = DockCategory() # category widget self.dock_log = DockBottom() # log widget self.dock_detail = DockDetail() # detail widget self.__dock_displayed = False # center widget self.__wid_center = QTabWidget() self.setCentralWidget(self.__wid_center) self.__wid_center.setStyleSheet(get_theme("TabViewMain")) self.__wid_center.setTabsClosable(True) self.connect(self.__wid_center, SIGNAL("tabCloseRequested(int)"), self.close_tab)
def __init__(self): #### self.waste_tab_6 = QWidget() self.waste_tab_6.setStyleSheet("") self.waste_tab_6.setObjectName("waste_tab_6") self.verticalLayout = QVBoxLayout(self.waste_tab_6) self.verticalLayout.setObjectName("verticalLayout") self.waste_detail_tabWidget = QTabWidget(self.waste_tab_6) self.waste_detail_tabWidget.setObjectName("waste_detail_tabWidget") self.add_tabs() self.verticalLayout.addWidget(self.waste_detail_tabWidget) ##signals and slotts && other stuffs # self.mainwindow = Ui_MainWindow # just for the ease of finding the attributes in pycharm self.waste_detail_tabWidget.currentChanged.connect(self.change_focus) self.waste_tab_6.setFocusPolicy(Qt.StrongFocus) self.waste_tab_6.focusInEvent = self.change_focus
def createWidgets(self): self.generalPanel = OptionsPanels.General.Panel(self.state, self.config, self) self.rulesPanel = OptionsPanels.Rules.Panel(self.state, self.config, self) self.displayPanel = OptionsPanels.Display.Panel(self.state, self.config, self) self.tabWidget = QTabWidget() self.tabWidget.addTab(self.generalPanel, "&1 General") self.tabWidget.addTab(self.rulesPanel, "&2 Rules") self.tabWidget.addTab(self.displayPanel, "&3 Display") self.helpButton = QPushButton(QIcon(":/help.svg"), "Help") self.tooltips.append((self.helpButton, "Help on the Options dialog")) self.closeButton = QPushButton(QIcon(":/dialog-close.svg"), "&Close") self.tooltips.append((self.closeButton, """<p><b>Close</b></p> <p>Close the dialog, and apply any changes to the index.</p>"""))
def __init__(self): QWidget.__init__(self) self.title = u"Web对象管理" # Page _page = PageContainer() # Window _window = ViewWindow() # Widget _widget = WidgetContainer() # 页面 tab _tab = QTabWidget() _tab.addTab(_page, _page.title) _tab.addTab(_window, _window.title) _tab.addTab(_widget, _widget.title) _tab.setTabPosition(QTabWidget.West) _tab.setStyleSheet(get_theme("TabViewWeb")) # 测试区 self.__test = WidgetTest() self.__test.setStyleSheet(get_theme("TestWidget")) # 主layout _layout = QHBoxLayout() _layout.addWidget(_tab) _layout.addWidget(self.__test) _layout.setStretch(0, 5) _layout.setStretch(1, 1) _layout.setContentsMargins(0, 0, 0, 0) _layout.setSpacing(0) self.setLayout(_layout) # 信号 _page.sig_selected.connect(self.set_page) _widget.sig_selected.connect(self.set_widget) self.__test.sig_exec.connect(self.send)
def createWidgets(self): self.tabWidget = QTabWidget() self.generalOutputPanel = OutputPanels.GeneralOutput.Panel( self.state, self.config, self) self.entryXRefOutputPanel = OutputPanels.EntryXRefOutput.Panel( self.state, self.config, self) self.subentryXRefOutputPanel = (OutputPanels.SubentryXRefOutput.Panel( self.state, self.config, self)) self.specificOutputPanel = OutputPanels.SpecificOutput.Panel( self.state, self.config, self) self.tabWidget.addTab(self.generalOutputPanel, "&1 General") self.tabWidget.addTab(self.entryXRefOutputPanel, "&2 Entry Cross-references") self.tabWidget.addTab(self.subentryXRefOutputPanel, "&3 Subentry Cross-references") self.tabWidget.addTab(self.specificOutputPanel, "&4 Format Specific") self.helpButton = QPushButton(QIcon(":/help.svg"), "Help") self.tooltips.append( (self.helpButton, "Help on the Output Options dialog")) self.closeButton = QPushButton(QIcon(":/dialog-close.svg"), "&Close") self.tooltips.append((self.closeButton, """<p><b>Close</b></p> <p>Close the dialog.</p>"""))
def __init__(self, kind, module, parent=None): super(DefaultsDialog, self).__init__() self.clipboard = parent.clipboard self.setWindowTitle("%s : %s" % (kind, module)) self.setGeometry(0, 0, 500, 500) self.move( QApplication.desktop().screenGeometry().center() - self.rect().center()) self.show() # Main layout self.layout = QVBoxLayout() self.setLayout(self.layout) self.display_tabs = QTabWidget() self.display = {} for k in ["yaml", "python", "bibliography"]: self.display[k] = QTextEdit() self.display[k].setLineWrapMode(QTextEdit.NoWrap) self.display[k].setFontFamily("mono") self.display[k].setCursorWidth(0) self.display[k].setReadOnly(True) self.display_tabs.addTab(self.display[k], k) self.layout.addWidget(self.display_tabs) # Fill text defaults_txt = get_default_info( module, kind, return_yaml=True, fail_if_not_found=True) from cobaya.yaml import yaml_load self.display["python"].setText( "from collections import OrderedDict\n\ninfo = " + pformat(yaml_load(defaults_txt))) self.display["yaml"].setText(defaults_txt) self.display["bibliography"].setText(get_bib_module(module, kind)) # Buttons self.buttons = QHBoxLayout() self.close_button = QPushButton('Close', self) self.copy_button = QPushButton('Copy to clipboard', self) self.buttons.addWidget(self.close_button) self.buttons.addWidget(self.copy_button) self.close_button.released.connect(self.close) self.copy_button.released.connect(self.copy_clipb) self.layout.addLayout(self.buttons)
def __init__(self, parent=None): super(ManagerWindow, self).__init__(parent) # Set the window title and size. self.setWindowTitle(self.tr("Add-on Manager")) self.setMinimumSize(400, 300) # Build the main widget. self.tabs = QTabWidget(self) self.setCentralWidget(self.tabs) # Load up all our tabs. for addon_type in sorted(addons.manager._types.keys()): tab = AddonTypeTab(addon_type) self.tabs.addTab(tab, tab.windowIcon(), tab.windowTitle()) # Let plugins get in on this. plugins.run_signal('opened_addon_manager', self) # Icons and Style! #style.enable_aero(self) self.reload_icons() style.style_reloaded.connect(self.reload_icons)
def _init_widgets(self): # filename filename_caption = QLabel(self) filename_caption.setText('File name:') filename = QLabel(self) filename.setText(self.filename) filename_layout = QHBoxLayout() filename_layout.addWidget(filename_caption) filename_layout.addWidget(filename) self.main_layout.addLayout(filename_layout) # central tab tab = QTabWidget() self._init_central_tab(tab) self.main_layout.addWidget(tab) # buttons ok_button = QPushButton(self) ok_button.setText('OK') ok_button.clicked.connect(self._on_ok_clicked) cancel_button = QPushButton(self) cancel_button.setText('Cancel') cancel_button.clicked.connect(self._on_cancel_clicked) buttons_layout = QHBoxLayout() buttons_layout.addWidget(ok_button) buttons_layout.addWidget(cancel_button) self.main_layout.addLayout(buttons_layout)
def initUI(self): textEdit1 = QkLineView(sample=10) textEdit2 = QkLineView(sample=100) textEdit3 = QkLineView(sample=200) tabs = QTabWidget() tabs.addTab(textEdit1, "TAB1") tabs.addTab(textEdit2, "TAB2") tabs.addTab(textEdit3, "TAB3") tabs.setMovable(True) self.setCentralWidget(tabs) exitAct = QAction(QIcon(":pics/exit.PNG"), self.tr("Exit"), self) exitAct.setShortcut('Ctrl+Q') exitAct.setStatusTip(self.tr('Exit application')) exitAct.triggered.connect(self.close) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu(self.tr('&File')) fileMenu.addAction(exitAct) toolbar = self.addToolBar(self.tr('Exit')) toolbar.addAction(exitAct) toolbar.addAction(exitAct) self.setGeometry(300, 300, 350, 250) self.setWindowTitle(self.tr('binkeul main window')) self.show()
def __init__(self, multiRenderController, parent=None): super(MultiRenderPropWidget, self).__init__(parent=parent) # Two tabs: Visualization and Data info self.mixParamWidget = RenderParameterWidget(multiRenderController) self.transformParamWidget = TransformationParameterWidget() self.registrationHistoryWidget = TransformationHistoryWidget() self.slicesTabWidget = RenderSlicerParamWidget(multiRenderController) # Create the tab widget self.tabWidget = QTabWidget() self.tabWidget.addTab(self.mixParamWidget, "Visualization") self.tabWidget.addTab(self.registrationHistoryWidget, "History") self.tabWidget.addTab(self.slicesTabWidget, "Slices") self.currentTabIndex = 0 self.tabWidget.currentChanged.connect(self.tabIndexChanged) layout = QVBoxLayout() self.setLayout(layout) layout.addWidget(self.tabWidget) self.registrationHistoryWidget.setMultiRenderWidget( multiRenderController.multiRenderWidget)
def __init__(self): """ automatically called __init__ function """ super(UiMain, self).__init__() # initialize all the variables that are going to be defined in the # future self.update_dialog = None self.update_dialog_lbl = None self.app_select_box = None self.selector_lbl = None self.current_playing_lbl = None self.current_playing = None self.misc_messages = None self.start_btn = None self.output_dir_lbl = None self.select_output_dir_btn = None self.output_cur_dir_lbl = None self.active_items_list = None self.inactive_items_list = None self.switch_active_item_button_off = None self.switch_active_item_button_on = None self.switch_output_split_btn = None self.switch_output_split_lbl = None # initialize the system tray # self.system_tray = QSystemTrayIcon(self) # self.system_tray.setIcon(QIcon(resource_path('icon.png'))) # self.system_tray.show() # self.system_tray.setToolTip('SMG') # self.system_tray.activated.connect(self.on_systray_activated) # initialize the main window self.setObjectName('self') self.setWindowTitle('SMG - By Azeirah') self.resize(400, 250) # Gives the self an icon self.setWindowIcon(QIcon(resource_path('icon.png'))) # create the tabs # the tab widget itself self.tabbed_windows = QTabWidget(self) self.tabbed_windows.resize(400, 300) # tab 1, contains the music player selection self.music_players = QFrame() # tab 2, contains options self.options = QFrame() self.tabbed_windows.addTab(self.music_players, 'Music players') self.tabbed_windows.addTab(self.options, 'Options') # initializes the two tabs, with all the code down below self.tab_music_players() self.tab_options() # shows the main window self.show() # self.update() CheckUpdateThread = Thread(target=self.update) CheckUpdateThread.setName('CheckUpdateThread') CheckUpdateThread.run()
def test_add_tab_succeeding(self): parent = QTabWidget() ChildAdder.add(QLabel(), 'fred', parent) self.assertEqual(parent.count(), 1) self.assertTrue(isinstance(parent.currentWidget(), QLabel))
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(598, 450) self.icon = QIcon(":/icons/uglytheme/48x48/polibeepsync.png") Form.setWindowIcon(self.icon) Form.setLocale(QLocale(QLocale.English, QLocale.UnitedStates)) self.verticalLayout = QVBoxLayout(Form) self.verticalLayout.setObjectName("verticalLayout") self.tabWidget = QTabWidget(Form) self.tabWidget.setObjectName("tabWidget") # Tab General Settings self.tab = QWidget() self.tab.setObjectName("tab") self.horizontalLayout = QHBoxLayout(self.tab) self.horizontalLayout.setObjectName("horizontalLayout") self.verticalLayout_2 = QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") self.gridLayout = QGridLayout() self.gridLayout.setObjectName("gridLayout") self.label_2 = QLabel(self.tab) self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1) self.label = QLabel(self.tab) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 1, 0, 1, 1) self.password = QLineEdit(self.tab) self.password.setMaximumSize(QSize(139, 16777215)) self.password.setEchoMode(QLineEdit.Password) self.password.setObjectName("password") self.gridLayout.addWidget(self.password, 3, 1, 1, 1) self.userCode = QLineEdit(self.tab) self.userCode.setMaximumSize(QSize(139, 16777215)) self.userCode.setText("") self.userCode.setObjectName("userCode") self.gridLayout.addWidget(self.userCode, 1, 1, 1, 1) spacerItem = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem, 1, 2, 1, 1) self.verticalLayout_2.addLayout(self.gridLayout) self.trylogin = QPushButton(self.tab) self.trylogin.setMaximumSize(QSize(154, 16777215)) self.trylogin.setObjectName("trylogin") self.verticalLayout_2.addWidget(self.trylogin) self.login_attempt = QLabel(self.tab) self.login_attempt.setText("Logging in, please wait.") self.login_attempt.setStyleSheet("color: rgba(0, 0, 0, 0);") self.login_attempt.setObjectName("login_attempt") self.verticalLayout_2.addWidget(self.login_attempt) spacerItem1 = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem1) self.horizontalLayout_3 = QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.label_4 = QLabel(self.tab) self.label_4.setObjectName("label_4") self.horizontalLayout_3.addWidget(self.label_4) self.rootfolder = QLineEdit(self.tab) self.rootfolder.setMinimumSize(QSize(335, 0)) self.rootfolder.setMaximumSize(QSize(335, 16777215)) self.rootfolder.setInputMask("") self.rootfolder.setReadOnly(True) self.rootfolder.setObjectName("rootfolder") self.horizontalLayout_3.addWidget(self.rootfolder) self.changeRootFolder = QPushButton(self.tab) self.changeRootFolder.setObjectName("changeRootFolder") self.horizontalLayout_3.addWidget(self.changeRootFolder) spacerItem2 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.verticalLayout_2.addLayout(self.horizontalLayout_3) self.horizontalLayout_5 = QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.label_5 = QLabel(self.tab) self.label_5.setObjectName("label_5") self.horizontalLayout_5.addWidget(self.label_5) self.timerMinutes = QSpinBox(self.tab) self.timerMinutes.setObjectName("timerMinutes") self.horizontalLayout_5.addWidget(self.timerMinutes) self.label_6 = QLabel(self.tab) self.label_6.setObjectName("label_6") self.horizontalLayout_5.addWidget(self.label_6) self.syncNow = QPushButton(self.tab) self.syncNow.setObjectName("syncNow") self.horizontalLayout_5.addWidget(self.syncNow) spacerItem3 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem3) self.verticalLayout_2.addLayout(self.horizontalLayout_5) self.addSyncNewCourses = QCheckBox(self.tab) self.addSyncNewCourses.setObjectName("addSyncNewCourses") self.verticalLayout_2.addWidget(self.addSyncNewCourses) self.horizontalLayout.addLayout(self.verticalLayout_2) self.tabWidget.addTab(self.tab, "") # Tab Courses self.tab_2 = QWidget() self.tab_2.setObjectName("tab_2") self.horizontalLayout_2 = QHBoxLayout(self.tab_2) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.verticalLayout_3 = QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.horizontalLayout_6 = QHBoxLayout() self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.refreshCourses = QPushButton(self.tab_2) self.refreshCourses.setObjectName("refreshCourses") self.horizontalLayout_6.addWidget(self.refreshCourses) spacerItem4 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_6.addItem(spacerItem4) self.verticalLayout_3.addLayout(self.horizontalLayout_6) self.coursesView = CoursesListView(self.tab_2) self.coursesView.setObjectName("coursesView") self.verticalLayout_3.addWidget(self.coursesView) self.horizontalLayout_2.addLayout(self.verticalLayout_3) self.tabWidget.addTab(self.tab_2, "") # Tab Status self.tab_3 = QWidget() self.tab_3.setObjectName("tab_3") self.horizontalLayout_7 = QHBoxLayout(self.tab_3) self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.verticalLayout_4 = QVBoxLayout() self.verticalLayout_4.setObjectName("verticalLayout_4") self.horizontalLayout_8 = QHBoxLayout() self.horizontalLayout_8.setObjectName("horizontalLayout_8") self.about = QPushButton(self.tab_3) self.about.setObjectName("about") self.horizontalLayout_8.addWidget(self.about) spacerItem5 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem5) self.verticalLayout_4.addLayout(self.horizontalLayout_8) self.status = QTextEdit(self.tab_3) self.status.setTextInteractionFlags(Qt.TextSelectableByKeyboard | Qt.TextSelectableByMouse) self.status.setObjectName("status") self.verticalLayout_4.addWidget(self.status) self.horizontalLayout_7.addLayout(self.verticalLayout_4) self.tabWidget.addTab(self.tab_3, "") self.tab_4 = QWidget() self.tab_4.setObjectName("tab_4") self.verticalLayout.addWidget(self.tabWidget) self.okButton = QDialogButtonBox(Form) self.okButton.setStandardButtons(QDialogButtonBox.Ok) self.okButton.setObjectName("okButton") self.okButton.clicked.connect(self.hide) self.verticalLayout.addWidget(self.okButton) self.statusLabel = QLabel(Form) self.statusLabel.setObjectName("statusLabel") self.verticalLayout.addWidget(self.statusLabel) self.retranslateUi(Form) self.tabWidget.setCurrentIndex(0) QMetaObject.connectSlotsByName(Form)
def __init__(self): super(MainWindow, self).__init__() self.setWindowTitle("Cobaya input generator for Cosmology") self.setGeometry(0, 0, 1500, 1000) self.move( QApplication.desktop().screen().rect().center() - self.rect().center()) self.show() # Main layout self.layout = QHBoxLayout() self.setLayout(self.layout) self.layout_left = QVBoxLayout() self.layout.addLayout(self.layout_left) self.layout_output = QVBoxLayout() self.layout.addLayout(self.layout_output) # LEFT: Options self.options = QWidget() self.layout_options = QVBoxLayout() self.options.setLayout(self.layout_options) self.options_scroll = QScrollArea() self.options_scroll.setWidget(self.options) self.options_scroll.setWidgetResizable(True) self.layout_left.addWidget(self.options_scroll) self.atoms = odict() titles = odict([ ["preset", "Presets"], ["theory", "Theory code"], ["primordial", "Primordial perturbations"], ["geometry", "Geometry"], ["hubble", "Constaint on hubble parameter"], ["baryons", "Baryon sector"], ["dark_matter", "Dark matter"], ["dark_energy", "Lambda / Dark energy"], ["neutrinos", "Neutrinos and other extra matter"], ["bbn", "BBN"], ["reionization", "Reionization history"], ["cmb_lensing", "CMB lensing"], ["cmb", "CMB experiments"], ["sampler", "Samplers"]]) for a in titles: self.atoms[a] = { "group": QGroupBox(titles[a]), "combo": QComboBox()} self.layout_options.addWidget(self.atoms[a]["group"]) self.atoms[a]["layout"] = QVBoxLayout(self.atoms[a]["group"]) self.atoms[a]["layout"].addWidget(self.atoms[a]["combo"]) self.atoms[a]["combo"].addItems( [text(k,v) for k,v in getattr(input_database, a).items()]) # Connect to refreshers -- needs to be after adding all elements for a in self.atoms: if a == "preset": self.atoms["preset"]["combo"].currentIndexChanged.connect( self.refresh_preset) continue self.atoms[a]["combo"].currentIndexChanged.connect(self.refresh) # Add Planck-naming checkbox and connect to refresher too self.planck_names = QCheckBox("Keep common names") self.atoms["theory"]["layout"].addWidget(self.planck_names) self.planck_names.stateChanged.connect(self.refresh) # RIGHT: Output + buttons self.display_tabs = QTabWidget() self.display = {} for k in ["yaml", "python"]: self.display[k] = QTextEdit() self.display[k].setLineWrapMode(QTextEdit.NoWrap) self.display[k].setFontFamily("mono") self.display[k].setCursorWidth(0) self.display[k].setReadOnly(True) self.display_tabs.addTab(self.display[k], k) self.layout_output.addWidget(self.display_tabs) # Buttons self.buttons = QHBoxLayout() self.save_button = QPushButton('Save', self) self.copy_button = QPushButton('Copy to clipboard', self) self.buttons.addWidget(self.save_button) self.buttons.addWidget(self.copy_button) self.save_button.released.connect(self.save_file) self.copy_button.released.connect(self.copy_clipb) self.layout_output.addLayout(self.buttons) self.save_dialog = QFileDialog() self.save_dialog.setFileMode(QFileDialog.AnyFile) self.save_dialog.setAcceptMode(QFileDialog.AcceptSave)
def __init__(self, parent=None): """ Default class constructor. :param `parent`: Pointer to a parent widget instance. :type `parent`: `QWidget`_ """ super(AboutDialog, self).__init__(parent) p = self.palette() p.setColor(self.backgroundRole(), Qt.white) self.setPalette(p) if parent: self.gImgDir = parent.gImgDir self.gIconDir = parent.gIconDir elif __name__ == '__main__': self.gImgDir = gAppDir + os.sep + 'images' self.gIconDir = gAppDir + os.sep + 'icons' + os.sep + 'default' # The tiled theme background texture. self.bgLogo = QPixmap(self.gImgDir + os.sep + 'texture-spirals.png') self.bgBrush = QBrush(self.bgLogo) self.setWhatsThis( self.tr("""\ The background is a tiled image of an actual design that was stitched out during the pre-alpha stage. It was created by Nina Paley and Theodore Gray using Mathematica in conjunction with our software. They have graciously allowed us to use it for the project in whichever way we wish. We thought it looked so good, that it has become the new theme for Embroidermodder 2. To check out some of the more interesting embroidery projects they are working on, visit http://blog.ninapaley.com/""")) self.imgLbl = EmbroidermodderLogo(self) aboutLbl = QTextBrowser(self) aboutLbl.setReadOnly(True) aboutLbl.setOpenExternalLinks(True) aboutLbl.setText('<b>%s</b>' % '<br>'.join(ABOUT.split('\n'))) aboutLbl.setWhatsThis( self. tr('This is the AWESOME people that brought Embroidermodder 2 to life.' )) # We want very slight opacity of the white background # so the seamless texture shows slightly through. opacityStyleSheet = """\ QTextEdit:read-only { color: rgb(50, 50, 50); font-size: 12px; font-weight: bold; background-color: rgba(255, 255, 255, 240); border: 1px solid rgba(0, 0, 0, 255); } """ aboutLbl.setStyleSheet(opacityStyleSheet) op = QGraphicsOpacityEffect(aboutLbl) op.setOpacity(0.95) aboutLbl.setGraphicsEffect(op) self.notebook = QTabWidget(self) self.notebook.setMinimumWidth(500) self.notebook.addTab(aboutLbl, self.tr('About')) self.notebook.setTabIcon(0, QIcon(self.gIconDir + os.sep + 'app.png')) self.notebook.setTabIcon( 1, QIcon(self.gImgDir + os.sep + 'kickstarter-logo-k-color.png')) notebookStyleSheet = """\ QTabWidget::pane { /* The tab widget frame */ border-top: 1px solid #000000; position: absolute; top: -0.5em; } QTabWidget::tab-bar { alignment: center; } /* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ QTabBar::tab { margin-top: 2px; /* make non-selected tabs look smaller */ font-size: 14px; font-weight: bold; background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); border: 1px solid #000000; /* border-bottom-color: #C2C7CB; */ /* same as the pane color */ border-top-left-radius: 4px; border-top-right-radius: 4px; min-width: 40ex; min-height: 5ex; padding: 3px; } QTabBar::tab:selected { margin-top: 0px; font-size: 16px; font-weight: bold; background: qlineargradient(x1: 0, y1: 0, x2: 2, y2: 2, stop: 0 #0C6AB0, stop: 0.15 #55C4E6, stop: 0.15 #55C4E6, stop: 0.5 #FFFFFF, stop: 0.5 #FFFFFF, stop: 0.85 #55C4E6, stop: 0.85 #55C4E6, stop: 1.0 #0C6AB0); border: 1px solid #000000; } QTabBar::tab:!selected:hover { margin-top: 2px; /* make non-selected tabs look smaller */ font-size: 14px; font-weight: bold; background: qlineargradient(x1: 0, y1: 0, x2: 2, y2: 2, stop: 0 #888888, stop: 0.15 #BBBBBB, stop: 0.15 #BBBBBB, stop: 0.5 #FFFFFF, stop: 0.5 #FFFFFF, stop: 0.85 #BBBBBB, stop: 0.85 #BBBBBB, stop: 1.0 #888888); border: 1px solid #000000; } QTabBar::tab:selected { border-color: #000000; border-bottom-color: #000000; /* same as pane color */ } """ self.notebook.setStyleSheet(notebookStyleSheet) self.notebook.currentChanged.connect(self.CurrentTabChanged) buttonbox = QDialogButtonBox(Qt.Horizontal, self) button = QPushButton(self) button.setText(self.tr("Oh, Yeah!")) button.setWhatsThis( self.tr('This is the Oh, Yeah! button!') + '\n' + self.tr('Oh, Yeah!')) buttonbox.addButton(button, QDialogButtonBox.AcceptRole) buttonbox.setCenterButtons(True) buttonbox.accepted.connect(self.accept) hbLayout1 = QHBoxLayout() hbLayout2 = QHBoxLayout() vbLayout = QVBoxLayout() hbLayout1.addStretch() hbLayout1.addWidget(self.imgLbl) hbLayout1.addStretch() hbLayout2.addStretch() hbLayout2.addWidget(self.notebook) hbLayout2.addStretch() vbLayout.addLayout(hbLayout1) vbLayout.addLayout(hbLayout2) vbLayout.addWidget(buttonbox) self.setLayout(vbLayout) self.setWindowTitle(self.tr('About Embroidermodder Version 2.0')) QApplication.restoreOverrideCursor( ) # TODO/???/PORT# don't mess with the window resize cursors.