def __init__(self): QMainWindow.__init__(self) self.setWindowTitle("음취헌 Piano Manager") self.setFixedSize(800, 480) page_in_use = InUse() page_log_in = LogIn() page_sign_up = SignUp() self.widget = QStackedWidget() self.widget.addWidget(page_log_in) # index 0 self.widget.addWidget(page_in_use) # index 1 self.widget.addWidget(page_sign_up) # index 2 self.setCentralWidget(self.widget) page_in_use.ui.button_quit.clicked.connect(partial( self.switch_page, 0)) page_log_in.ui.button_register.clicked.connect( partial(self.switch_page, 2)) page_log_in.ui.dialog_true.button_yes.clicked.connect( partial(self.switch_page, 1)) page_sign_up.widget(4).ui.dialog_true.button_ok.clicked.connect( partial(self.switch_page, 0)) for i in range(5): page_sign_up.widget(i).ui.button_home.clicked.connect( partial(self.switch_page, 0))
def __init__(self): super(ORIRMain, self).__init__() self._m_navigation_bar = QSlideNavigationBar() self._m_stacked_widget = QStackedWidget() self._m_stacked_widget.setMouseTracking(True) self._layout = QHBoxLayout() self._init_navigation_bar() self._layout.addWidget(self._m_navigation_bar) self._layout.addWidget(self._m_stacked_widget) self._layout.setStretchFactor(self._m_navigation_bar, 1) self._layout.setStretchFactor(self._m_stacked_widget, 40) self.set_layout(None, self._layout) self._debug_page = ORIR_Debug() self._m_stacked_widget.addWidget(self._debug_page) self._loganalysis_page = ORIR_LogAnalysis() self._m_stacked_widget.addWidget(self._loganalysis_page) self._collectiondata_page = ORIR_CollectionData() self._m_stacked_widget.addWidget(self._collectiondata_page) self._m_tool_page = ORIR_Tool() self._m_stacked_widget.addWidget(self._m_tool_page) self._help_page = ORIR_Help() self._m_stacked_widget.addWidget(self._help_page) self._m_navigation_bar.itemClicked.connect(self._on_change_page) # self.set_window_icon('../resources/icons/battery.ico') self.setWindowFlags(Qt.FramelessWindowHint or Qt.WindowSystemMenuHint or Qt.WindowMinMaxButtonsHint)
def __init__(self, title: str, datatype_to_widget, parent: "QWidget" = None): super().__init__(title, parent) # Maps a datatype with its respective widget. The widget is optional self._datatype_to_widget = datatype_to_widget self._datatype_combobox = QComboBox() self._stacked_widgets = QStackedWidget() for (i, (name, datatype_factory)) in enumerate( DataTypeContainer.providers.items()): datatype_instance = datatype_factory() self._datatype_combobox.addItem(name, datatype_instance) if datatype_factory in self._datatype_to_widget: self._stacked_widgets.insertWidget( i, self._datatype_to_widget[datatype_factory]( datatype_instance)) self._main_layout = QVBoxLayout() self._main_layout.addWidget(self._datatype_combobox) self._main_layout.addWidget(self._stacked_widgets) self.setLayout(self._main_layout) self._datatype_combobox.currentIndexChanged[int].connect( self._change_active_widget)
def __init__(self): super().__init__() self.setWindowTitle( "Spongo - Projet M1 ISEN Yncréa Brest | Margaux DOUDET et Alexandre THOMAS" ) self.setFixedSize(1280, 720) self.setWindowIcon(QIcon(":/img/spongo_icon.png")) self.stacked_widget = QStackedWidget() self.stacked_widget.setObjectName("page-container") self.setCentralWidget(self.stacked_widget) self._widgets = { "/menu": MenuController(), "/parameters": ParametersController(), "/analysis": AnalysisController(), "/history": HistoryController() } for w in self._widgets.values(): self.stacked_widget.addWidget(w) w.changeWidget.connect(self._route) self._route("/menu") self.show()
def _render_gui(self): self.getConfig() box = QGridLayout() img_banner = QLabel() if os.path.isfile(self.banner): img = QtGui.QPixmap(self.banner) img_banner.setPixmap(img) img_banner.setAlignment(Qt.AlignCenter) img_banner.setObjectName("banner") box.addWidget(img_banner, 0, 0, 1, 2) self.lst_options = QListWidget() self.stk_widget = QStackedWidget() idx = 0 if len(self.stacks) > 2: l_panel = self._left_panel() box.addWidget(l_panel, 1, 0, 1, 1, Qt.Alignment(1) | Qt.AlignTop) # self.stk_widget.setCurrentIndex(0) else: idx = 1 # self.stk_widget.setCurrentIndex(1) r_panel = self._right_panel() self.stk_widget.setCurrentIndex(idx) #self.gotoStack(idx,"") box.addWidget(r_panel, 1, 1, 1, 1) self.setLayout(box) self.show()
def __init__(self): QMainWindow.__init__(self) self.setWindowTitle("Piano Manager") self.setFixedSize(800, 480) # self.showFullScreen() # Create Page Objects Here LogInPage = LogIn() SignUpPage = SignUp() InUsePage = InUse() # Connect pages to switch each others LogInPage.ui.ButtonRegister.clicked.connect(partial( self.switchPage, 1)) LogInPage.ui.DButtonYes.clicked.connect(partial(self.switchPage, 2)) SignUpPage.ui.buttonHome.clicked.connect(partial(self.switchPage, 0)) InUsePage.ui.ButtonQuit.clicked.connect(partial(self.switchPage, 0)) # Insert pages into QStackedWidget self.centralWidgets = QStackedWidget() self.centralWidgets.addWidget(LogInPage) # index: 0 self.centralWidgets.addWidget(SignUpPage) # index: 1 self.centralWidgets.addWidget(InUsePage) # index: 2 self.setCentralWidget(self.centralWidgets)
def __init__(self): super(stackedExample, self).__init__() self.leftList = QListWidget() self.leftList.insertItem(0, 'Contact') self.leftList.insertItem(1, 'Personal') self.leftList.insertItem(2, 'Educational') self.stack_1 = QWidget() self.stack_2 = QWidget() self.stack_3 = QWidget() self.stack_1_UI() self.stack_2_UI() self.stack_3_UI() self.stack = QStackedWidget() self.stack.addWidget(self.stack_1) self.stack.addWidget(self.stack_2) self.stack.addWidget(self.stack_3) hbox = QHBoxLayout() hbox.addWidget(self.leftList) hbox.addWidget(self.stack) self.setLayout(hbox) self.leftList.currentRowChanged.connect(self.display) self.setGeometry(300, 50, 10, 10) self.setWindowTitle("Stack Widget Demo") self.show()
def createStack(self, layout='vertical'): self.stack_list = QListWidget() self.list_margin_size = 11 self.Stack = QStackedWidget(self) self.layout_type = layout if self.layout_type == 'horizontal': box = QHBoxLayout(self) self.list_margin_size = 18 self.stack_list.setStyleSheet( "margin-top: {size}px".format(size=self.list_margin_size)) else: box = QVBoxLayout(self) self.stack_list.setStyleSheet( "margin-left : {size}px; margin-right : {size2}px".format( size=self.list_margin_size, size2=self.list_margin_size + 1)) box.addWidget(self.stack_list) box.addWidget(self.Stack) box.setAlignment(self.stack_list, Qt.AlignTop) self.setLayout(box) self.stack_list.currentRowChanged.connect(self.display) self.tabs = {} self.num_tabs = 0 self.widgets = {}
def createWidgetStack(self): self.widget_stack = QStackedWidget() self.centralWidget = MainWidget(self.dc) self.plotWidget = plotMainWidget(self.dc) self.widget_stack.addWidget(self.centralWidget) self.widget_stack.addWidget(self.plotWidget) self.widget_stack.setCurrentIndex(0)
def __init__(self, datalist, comment="", parent=None): QWidget.__init__(self, parent) layout = QVBoxLayout() self.setLayout(layout) self.combobox = QComboBox() layout.addWidget(self.combobox) self.stackwidget = QStackedWidget(self) layout.addWidget(self.stackwidget) if SIGNAL is None: self.combobox.currentIndexChanged.connect(self.stackwidget.setCurrentIndex) else: self.connect(self.combobox, SIGNAL("currentIndexChanged(int)"), self.stackwidget, SLOT("setCurrentIndex(int)")) self.result = parent.result self.widget_color = parent.widget_color if self.widget_color: style = "background-color:" + self.widget_color + ";" self.combobox.setStyleSheet(style) self.type = parent.type self.widgetlist = [] for data, title, comment in datalist: self.combobox.addItem(title) widget = FormWidget(data, comment=comment, parent=self) self.stackwidget.addWidget(widget) self.widgetlist.append((title, widget))
def initUI(self): """ Init app """ self._stacked_widget = QStackedWidget() signal_controller = SignalSender() signal_controller.signal_newWindowIndx2MainWindow.connect(self.set_widget_by_index) signal_controller.signal_goto_settings.connect(self.set_widget_settings) self.grid = QGridLayout() self.grid.addWidget(self._stacked_widget) # Create log in widget self._log_in_widget = LogInWidget(self.statusBar, signal_controller) self._log_in_widget.set_index(self._stacked_widget.addWidget(self._log_in_widget)) # Create file receiver self._file_receiver = FileReceiverWidget(self, signal_controller) self._file_receiver.set_index(self._stacked_widget.addWidget(self._file_receiver)) # Create file sender self._file_sender = FileSenderWidget(self, signal_controller) self._file_sender.set_index(self._stacked_widget.addWidget(self._file_sender)) # Create settings self._config_widget= ConfigWidget(self) self._config_widget.set_index(self._stacked_widget.addWidget(self._config_widget)) self.setLayout(self.grid) self._stacked_widget.setCurrentIndex(self._log_in_widget.get_index()) self.setWindowTitle("Main menu")
def __init__(self, parent=None, shared_dict=None): QStackedWidget.__init__(self, parent) self.setStyleSheet("""QWidget{background-color:#f2ede1;}""") self.pageAllegroAdd = PageAllegroAdd(self, shared_dict) self.pageAllegroMonitored = PageAllegroMonitored(self, shared_dict) self.pageAllegroOptions = PageAllegroOptions(self) self.pageAbout = PageAbout(self) self.pageLoading = PageLoading(self)
def __initForm(self): self.mainLayout = QHBoxLayout() self.mainLayout.setContentsMargins(1, 1, 1, 1) self.contextFrame = QtWidgets.QFrame() self.contextFrame.setObjectName("contextFrame") self.midContextLayout = QHBoxLayout() self.midContextLayout.setSpacing(1) self.midContextLayout.setContentsMargins(0, 1, 0, 1) self.midLeftFrame = QtWidgets.QFrame() self.midLeftFrame.setObjectName("midLeftFrame") self.midLeftLayout = QVBoxLayout() self.midLeftFrame.setLayout(self.midLeftLayout) self.midLeftLayout.setSpacing(0) self.midLeftLayout.setContentsMargins(2, 2, 2, 2) self.musicLibraryTitleLabel = QLabel("音乐库") self.textFont = QFont("微软雅黑", 11) self.textFont.setBold(True) self.musicLibraryTitleLabel.setFont(self.textFont) self.musicLibraryListView = QListView() self.musicLibraryListView.setFixedHeight(140) self.musicLibraryListView.setObjectName('musicLibraryListView') self.musicLibraryListView.setFixedWidth(190) self.localCollectionTitleLabel = QLabel("本地收藏") self.localCollectionTitleLabel.setFont(self.textFont) self.localCollectionListView = QListView() self.localCollectionListView.setObjectName('localCollectionListView') self.localCollectionListView.setFixedWidth(190) self.songsNameListTitleLabel = QLabel("歌单列表") self.songsNameListTitleLabel.setFont(self.textFont) self.songsNameListView = QListView() self.songsNameListView.setObjectName('songsNameListView') self.songsNameListView.setFixedWidth(190) self.songsNameListView.setFixedHeight(300) self.midLeftLayout.addWidget(self.musicLibraryTitleLabel) self.midLeftLayout.addWidget(self.musicLibraryListView) self.midLeftLayout.addWidget(self.songsNameListTitleLabel) self.midLeftLayout.addWidget(self.songsNameListView) self.midLeftLayout.addWidget(self.localCollectionTitleLabel) self.midLeftLayout.addWidget(self.localCollectionListView) self.rightContextStackWidget = QStackedWidget() self.testLabel = QLabel() self.testLabel.setScaledContents(True) self.testLabel.setPixmap( QPixmap(":/icon/Resources/icon/icon-meinv.jpg").scaled( self.testLabel.width(), self.testLabel.height(), Qt.KeepAspectRatio, Qt.SmoothTransformation)) self.rightContextStackWidget.addWidget(self.testLabel) self.midContextLayout.addWidget(self.midLeftFrame) self.midContextLayout.addWidget(self.rightContextStackWidget) self.midContextLayout.setStretch(0, 0) self.midContextLayout.setStretch(1, 1) self.contextFrame.setLayout(self.midContextLayout) self.mainLayout.addWidget(self.contextFrame) self.setLayout(self.mainLayout)
def setup_p_preferences(self) -> None: """inits setup_p_preferences stacked widget page widget Returns: None""" self.p_preferences = QWidget() self.p_preferences.resize(500, 250) self.p_preferences.setWindowTitle("preferences") self.list_Widget = QListWidget(self.p_preferences) self.list_Widget.addItems(["appearance", "about"]) self.list_Widget.setMaximumWidth(100) self.stacked_widget_preferences = QStackedWidget(self.p_preferences) # setup appearance self.apperence_widget = QWidget() self.stacked_widget_preferences.addWidget(self.apperence_widget) self.in_combo_themes = QComboBox(self.apperence_widget) self.in_combo_themes.addItems(["dark_theme", "light_theme"]) self.in_combo_theme_initial = QComboBox(self.apperence_widget) self.in_combo_theme_initial.addItems(["dark_theme", "light_theme"]) self.text_size_slider = QSlider(QtCore.Qt.Orientation.Horizontal, self.apperence_widget) self.text_size_slider.setTickPosition(QSlider.TickPosition.TicksAbove) self.text_size_slider.setMaximum(15) self.text_size_slider.setMinimum(8) stacked_widget_preferences_layout = QGridLayout(self.apperence_widget) stacked_widget_preferences_layout.setAlignment(QtCore.Qt.AlignTop) stacked_widget_preferences_layout.addWidget(QLabel("theme"), 0, 0) stacked_widget_preferences_layout.addWidget(self.in_combo_themes, 0, 1) stacked_widget_preferences_layout.addWidget(QLabel("initial theme"), 1, 0) stacked_widget_preferences_layout.addWidget( self.in_combo_theme_initial, 1, 1) stacked_widget_preferences_layout.addWidget(QLabel("Fontsize"), 2, 0) stacked_widget_preferences_layout.addWidget(self.text_size_slider, 2, 1) self.about_widget = QWidget() self.stacked_widget_preferences.addWidget(self.about_widget) about_text_edit = QTextEdit(self.about_widget) about_text_edit.setText( "developed by Maurice Jarck\nwith kind support from Shuai Lou\n07.2020-04.2021" ) about_text_edit.setEnabled(False) stacked_widget_about_layout = QGridLayout(self.about_widget) stacked_widget_about_layout.addWidget(about_text_edit) p_apperance_layout = QHBoxLayout(self.p_preferences) p_apperance_layout.addWidget(self.list_Widget) p_apperance_layout.addWidget(self.stacked_widget_preferences)
def makeResultStack(self): stack = QStackedWidget() # refresh = QPushButton() # refresh.setIcon(QIcon.fromTheme('view-refresh')) # stack.addWidget(refresh) for i in self.state.interfaces: s = QScrollArea() stack.addWidget(s) return stack
def init_UI(self): layout = QHBoxLayout() self.stack = QStackedWidget(parent=self) self.welcome = Welcome_Widget(parent=self) self.welcome.login.Button_Login.clicked.connect( self.check_user_details) self.user = User_Widget(parent=None) self.user.Button_Quit.clicked.connect(self.user_quit) self.stack.addWidget(self.welcome) self.stack.addWidget(self.user) layout.addWidget(self.stack)
def __init__(self): super().__init__() self.setWindowTitle = 'DD烤肉机' self.resize(1870, 820) self.mainWidget = QWidget() self.mainLayout = QGridLayout() # Grid layout self.mainLayout.setSpacing(10) self.mainWidget.setLayout(self.mainLayout) self.duration = 60000 self.bitrate = 2000 self.fps = 60 self.initProcess = InitProcess() self.previewSubtitle = PreviewSubtitle() self.dnldWindow = YoutubeDnld() self.exportWindow = exportSubtitle() self.videoDecoder = VideoDecoder() self.exportWindow.exportArgs.connect(self.exportSubtitle) self.stack = QStackedWidget() self.stack.setFixedWidth(1300) self.mainLayout.addWidget(self.stack, 0, 0, 10, 8) buttonWidget = QWidget() buttonLayout = QHBoxLayout() buttonWidget.setLayout(buttonLayout) self.playButton = QPushButton('从本地打开') self.playButton.clicked.connect(self.open) self.playButton.setFixedWidth(400) self.playButton.setFixedHeight(75) self.dnldButton = QPushButton('Youtube下载器') self.dnldButton.clicked.connect(self.popDnld) self.dnldButton.setFixedWidth(400) self.dnldButton.setFixedHeight(75) buttonLayout.addWidget(self.playButton) buttonLayout.addWidget(self.dnldButton) self.stack.addWidget(buttonWidget) self.videoPath = '' self.videoWidth = 1920 self.videoHeight = 1080 self.globalInterval = 200 self.setPlayer() self.setSubtitle() self.setToolBar() self.setCentralWidget(self.mainWidget) self.playStatus = False self.volumeStatus = True self.volumeValue = 100 self.subSelectedTxt = '' self.subReplayTime = 1 self.clipBoard = [] self.grabKeyboard() self.show()
def __init__(self): QStackedWidget.__init__(self) self.setFixedSize(800, 480) page0 = SignUpName() page1 = SignUpContact() page2 = SignUpID() page3 = SignUpNFC() page4 = SignUpCheck() self.addWidget(page0) # index: 0 self.addWidget(page1) # index: 1 self.addWidget(page2) # index: 2 self.addWidget(page3) # index: 3 self.addWidget(page4) # index: 4 self.name = "Unknown" self.contact = 0 self.contact1 = "1234" self.contact2 = "5678" self.id = "2020123456" self.nfc_uid = "" self.db = DataBase() page0.ui.button_right.clicked.connect(self.save_name) page0.ui.button_right.clicked.connect(partial(self.switch_page, 1)) page0.ui.edit_name.returnPressed.connect(self.save_name) page0.ui.edit_name.returnPressed.connect(partial(self.switch_page, 1)) page1.ui.button_left.clicked.connect(partial(self.switch_page, 0)) page1.ui.button_right.clicked.connect(self.save_contact) page1.ui.button_right.clicked.connect(partial(self.switch_page, 2)) page1.ui.edit_contact3.returnPressed.connect(self.save_contact) page1.ui.edit_contact3.returnPressed.connect(partial(self.switch_page, 2)) page2.ui.button_left.clicked.connect(partial(self.switch_page, 1)) page2.ui.button_right.clicked.connect(self.save_id) page2.ui.button_right.clicked.connect(partial(self.switch_page, 3)) page2.ui.edit_id.returnPressed.connect(self.save_id) page2.ui.edit_id.returnPressed.connect(partial(self.switch_page, 3)) page3.ui.button_left.clicked.connect(partial(self.switch_page, 2)) page3.ui.button_right.clicked.connect(self.save_nfc_uid) page3.ui.button_right.clicked.connect(partial(self.switch_page, 4)) page4.ui.button_left.clicked.connect(partial(self.switch_page, 3)) page4.ui.button_register.clicked.connect(self.sign_up_user) page4.ui.dialog_false.button_ok.clicked.connect(page4.ui.dialog_false.hide) self.set_page()
class MainWidget(QWidget): def __init__(self, parent=None): super(MainWidget, self).__init__(parent) self.initUI() def initUI(self): layout = QVBoxLayout(self) self.stack = QStackedWidget(parent=self) self.search = SearchWidget(parent=self) self.search.searchButton.clicked.connect(self.goSearch) self.back = BackWidget(parent=self) self.back.backButton.clicked.connect(self.goBack) self.stack.addWidget(self.search) self.stack.addWidget(self.back) layout.addWidget(self.stack) def goSearch(self): self.stack.setCurrentWidget(self.back) def goBack(self): self.stack.setCurrentWidget(self.search)
def initUI(self): layout = QVBoxLayout(self) self.stack = QStackedWidget(parent=self) self.search = SearchWidget(parent=self) self.search.searchButton.clicked.connect(self.goSearch) self.back = BackWidget(parent=self) self.back.backButton.clicked.connect(self.goBack) self.stack.addWidget(self.search) self.stack.addWidget(self.back) layout.addWidget(self.stack)
class WindowController(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle( "Spongo - Projet M1 ISEN Yncréa Brest | Margaux DOUDET et Alexandre THOMAS" ) self.setFixedSize(1280, 720) self.setWindowIcon(QIcon(":/img/spongo_icon.png")) self.stacked_widget = QStackedWidget() self.stacked_widget.setObjectName("page-container") self.setCentralWidget(self.stacked_widget) self._widgets = { "/menu": MenuController(), "/parameters": ParametersController(), "/analysis": AnalysisController(), "/history": HistoryController() } for w in self._widgets.values(): self.stacked_widget.addWidget(w) w.changeWidget.connect(self._route) self._route("/menu") self.show() def closeEvent(self, event: QCloseEvent): ask_exit = self.stacked_widget.currentWidget().askExit() if ask_exit: event.accept() else: event.ignore() @Slot(str, object) def _route(self, route_name: str, parameters: object = None): next_widget = None for r, w in self._widgets.items(): if r == route_name: next_widget = w break if next_widget is None: print("[WARNING] Unknown widget : %s" % str(next_widget)) return current_widget = self.stacked_widget.currentWidget() current_widget.stop() self.stacked_widget.setCurrentWidget(next_widget) if route_name == "/analysis": next_widget.start(parameters[0], parameters[1]) elif route_name == "/history": next_widget.start(parameters) else: next_widget.start()
def add_widgets(self): sex, bd = self.get_sex_bd() self.pref_widget = PrefWidget(sex, bd, self.type_res, self.fd_res) self.req_widget = ReqWidget(self.person, sex, *bd) self.res_widget = ResWidget(self.type_res, self.fd_res) self.stacked_widget = QStackedWidget() self.stacked_widget.addWidget(self.pref_widget) self.stacked_widget.addWidget(self.req_widget) self.stacked_widget.addWidget(self.res_widget) central_widget = QWidget() self.setCentralWidget(central_widget) lay = QVBoxLayout(central_widget) lay.addWidget(self.stacked_widget)
def setup_window(self): self.widget_stack = QStackedWidget(self) self.main_widget = MainWidget() self.exercise_widget = ExerciseWidget() self.exercise_view_widget = ViewWidget() self.widget_stack.addWidget(self.main_widget) self.widget_stack.addWidget(self.exercise_widget) self.widget_stack.addWidget(self.exercise_view_widget) self.main_widget.start_exercise_file.connect(self.show_exercise_window) self.main_widget.open_exercise_file.connect( self.show_exercise_view_widget) self.exercise_view_widget.return_button.clicked.connect( self.show_main_widget)
def create_central_widgets(self): """ Application uses central widgets to load menu selections """ #create all widget instances to be used as central widgets self.launch_widget = launch() self.reconcile_widget = reconcile(self.progress_bar) #add above widget instances to a stack instance self.stacked_widgets = QStackedWidget() self.stacked_widgets.addWidget(self.launch_widget) self.stacked_widgets.addWidget(self.reconcile_widget) #on application start set the launch widget to display self.stacked_widgets.setCurrentWidget(self.launch_widget) self.setCentralWidget(self.stacked_widgets)
def setupUi(self, main_window): main_window.setObjectName('main_window') main_window.setWindowTitle('qt_mvc Demo') main_window.resize(800, 600) # pyqtgraph configuration setConfigOption('background', 'w') setConfigOption('foreground', 'k') # Divide window into left (toolbar) and right(main) vertical layouts self.central_widget = QWidget(main_window) self.central_widget.setObjectName('centralwidget') self.central_layout = QHBoxLayout(self.central_widget) self.central_layout.setObjectName('centrallayout') self.left_bar_layout = QVBoxLayout() self.left_bar_layout.setObjectName('left_bar_layout') self.main_layout = QVBoxLayout() self.main_layout.setObjectName('main_layout') self.central_layout.addLayout(self.left_bar_layout, 0) self.central_layout.addLayout(self.main_layout, 1) # Populate left toolbar self.calctype = CalcTypeButtonGroup('Calc Type') self.calctype.setObjectName('calctype_menu') self.stack_model_selections = QStackedWidget() self.stack_model_selections.setObjectName('model_selection_stack') self.multiplet_menu = MultipletButtonGroup('Multiplet') self.multiplet_menu.setObjectName('multiplet_menu') self.abc_menu = ABC_ButtonGroup('Number of Spins') self.abc_menu.setObjectName('abc_menu') self.dnmr_menu = DNMR_ButtonGroup('DNMR') self.dnmr_menu.setObjectName('dnmr_menu') for menu in [self.multiplet_menu, self.abc_menu, self.dnmr_menu]: self.stack_model_selections.addWidget(menu) self.stack_model_selections.setCurrentWidget(self.multiplet_menu) self.left_bar_layout.addWidget(self.calctype, 0) self.left_bar_layout.addWidget(self.stack_model_selections, 0) self.left_bar_layout.addWidget(QWidget(), 1) # Add toolbars and plot area to main layout self.toolbars = toolbar_stack(main_window, main_window.view_state) self.plot = PlotWidget() self.plot.getViewBox().invertX(True) # Reverse x axis "NMR style" self.main_layout.addWidget(self.toolbars, 0) self.main_layout.addWidget(self.plot, 1) main_window.setCentralWidget(self.central_widget)
def __init__(self, model, tabWidget, parent=None): super(ChartWidget, self).__init__(parent) self.model = model self.tabWidget = tabWidget layout = QVBoxLayout(self) chartGroupBox = QGroupBox("General Settings") grid = QGridLayout(self) grid.addWidget(QLabel("Name"), 0, 0) self.nameLineEdit = QLineEdit() self.nameLineEdit.setText(model.text()) self.nameLineEdit.textChanged.connect(self.updateText) grid.addWidget(self.nameLineEdit, 0, 1) self.typeComboBox = QComboBox() self.typeComboBox.currentIndexChanged.connect(self.changeType) grid.addWidget(self.typeComboBox, 1, 1) chartGroupBox.setLayout(grid) layout.addWidget(chartGroupBox) self.chartWidget = QWidget() layout.addWidget(self.chartWidget) # using to dynamically add and remove chart settings/preview widgets self.stackedWidget = QStackedWidget(self) layout.addWidget(self.stackedWidget) # layout.addStretch() self.setLayout(layout) # adding type values here is a violation of object-oriented design # a more polymorphic implementation is desirable chartTypesLst = [ ('Bar Chart', "icons/chart-types/bar-chart.svg", BarChartModel), ('Box Plot', "icons/chart-types/box-plot.svg", None), ('Candlestick Chart', "icons/chart-types/candlestick-chart.svg", None), ('Line Chart', "icons/chart-types/line-chart.svg", LineChartModel), ('Pie Chart', "icons/chart-types/pie-chart.svg", None), ('Scatter Chart', "icons/chart-types/scatter-chart.svg", None), ('Spline Chart', "icons/chart-types/spline-chart.svg", None) ] s = QStandardItemModel() for ct in chartTypesLst: item = QStandardItem(ct[0]) item.setIcon(QIcon(ct[1])) item.setData(ct[2]) s.appendRow(item) self.typeComboBox.setModel(s)
def setupUi(self, Form): Form.setObjectName("Form") Form.setFixedSize(1000, 600) Form.setWindowTitle("Task Ledger") self.stackedWidget = QStackedWidget(Form) self.stackedWidget.setGeometry(QRect(0, 0, 1000, 600)) self.stackedWidget.setObjectName("stackedWidget") # Landing Page self.stackedWidgetPage1.setObjectName("stackedWidgetPage1") self.landing = landing.LandingPageUI(self.stackedWidgetPage1) self.landing.setGeometry(0, 0, 1000, 60) self.landing.setupUi(self.stackedWidgetPage1) self.stackedWidget.addWidget(self.stackedWidgetPage1) self.landing.pushButton.clicked.connect(self.goto_login) # Login Page self.stackedWidgetPage2.setObjectName("stackedWidgetPage2") self.login = login.LoginUI(self.stackedWidgetPage2) self.login.setupUi(self.stackedWidgetPage2) self.login.setGeometry(0, 0, 1000, 60) self.login.reg_label.clicked.connect(self.goto_reg) self.login.back.clicked.connect(self.goto_landing) self.stackedWidget.addWidget(self.stackedWidgetPage2) # register Page self.stackedWidgetPage3.setObjectName("stackedWidgetPage3") self.reg = reg.RegisterUI(self.stackedWidgetPage3) self.reg.setupUi(self.stackedWidgetPage3) self.reg.setGeometry(0, 0, 1000, 600) self.reg.back.clicked.connect(self.goto_login) self.stackedWidget.addWidget(self.stackedWidgetPage3) # main self.stackedWidgetPage4.setObjectName("stackedWidgetPage4") self.main = main.MainUI(self.stackedWidgetPage4) # Pass system object to the child Widget self.main.bind_system(self.system) self.main.setupUi(self.stackedWidgetPage4) self.main.setGeometry(0, 0, 1000, 600) self.main.navbar.log_out.clicked.connect(self.logout) self.stackedWidget.addWidget(self.stackedWidgetPage4) self.stackedWidget.setCurrentIndex(0)
def __init__(self) -> None: """inits MainWindow class configuring parameters of MainWindow class and inherits from QtWidget.QMainWindow loads .ui file sets up file and directory path vars, inits click events(menuebar, coboboxes, btns) and shows gui the first time Returns: None""" super(MainWindowUi, self).__init__() self.setWindowTitle("It_Hilfe") self.resize(820, 450) self.setWindowIcon(QIcon("./data/favicon2.png")) self.setMinimumSize(700, 250) self.file_path = None self.dir = None self.last_open_file_path = None self.last_open_file_dir = None self.initial_theme = None self.registered_devices = {} self.user_config_file = "./data/user_config.json" # setup stackedwidget self.stacked_widget = QStackedWidget() self.setCentralWidget(self.stacked_widget) self.setup_menubar() self.setup_p_view() self.setup_p_register() self.setup_p_create() self.setup_p_preferences() self.setup_signals() self.font = QFont() self.font.setPointSize(9) self.validate(self.set_user_preferences, file_path=self.user_config_file, schema=validate_json.ItHilfeUserPreferencesSchema, forbidden=[""]) # setup statusbar self.statusbar = self.statusBar() self.stacked_widget.setCurrentWidget(self.p_view)
def widgets(self): self.combined_hor_layout = QHBoxLayout(self.contentWidget()) self.combined_hor_layout.setMargin(0) ################################################################################################################ # on the left ################################################################################################################ self.option_layout = QVBoxLayout(self.contentWidget()) self.download_anime = QPushButton(self) self.manga = QPushButton(self) self.left_button_properties() self.option_layout.addWidget(self.download_anime, stretch=0) self.option_layout.addWidget(self.manga, stretch=0) self.option_layout.addStretch() self.option_layout.setSpacing(10) ################################################################################################################ # on the right ################################################################################################################ self.vertical_right_layout = QVBoxLayout(self.contentWidget()) self.vertical_right_layout.setMargin(1) self.stack = QStackedWidget(self) self.page_1 = QWidget() self.page_2 = QWidget() self.stack_details() self.stack.addWidget(self.page_1) self.stack.addWidget(self.page_2) self.stack.setCurrentWidget(self.page_1) self.vertical_right_layout.addWidget(self.stack) ################################################################################################################ self.combined_hor_layout.addLayout(self.option_layout) self.combined_hor_layout.addLayout(self.vertical_right_layout)
def __init__(self, *args, **kwargs): super(Application, self).__init__(*args, **kwargs) # Initializing menu window self.__menuWindow = MenuWindow() self.__windows = QStackedWidget(self) self.__windows.addWidget(self.__menuWindow) self.__windows.setCurrentIndex(0) self.setCentralWidget(self.__windows) # Connecting buttons self.__menuWindow.buttons[0].clicked.connect( self.goToPreprocessingImage) self.__menuWindow.buttons[1].clicked.connect( self.goToPreprocessingText) self.__menuWindow.buttons[2].clicked.connect(self.goToChoice) self.__menuWindow.buttons[3].clicked.connect(self.goToTesting) self.__menuWindow.buttons[4].clicked.connect(QApplication.quit)