Jul-21-2023, 03:38 PM
Hello,
I'm still quite inexperienced in writing my own classes and in using "self".
My question is about the MainWindow class.
How can I simplify widget creation, make it clearer?
It would be great if someone could help me...
Am I doing it reasonably correctly using "self"?
Thank you so much for the support!!
I'm still quite inexperienced in writing my own classes and in using "self".
My question is about the MainWindow class.
How can I simplify widget creation, make it clearer?
It would be great if someone could help me...
Am I doing it reasonably correctly using "self"?
Thank you so much for the support!!
class MainWindow(QMainWindow): def __init__(self): super().__init__() qr = self.frameGeometry() cp = self.screen().availableGeometry().center() qr.moveCenter(cp) self.move(qr.topLeft()) self.w = QWidget() self.setCentralWidget(QWidget()) self.setWindowTitle("abc") self.groupbox = QGroupBox("what do you have?") font = self.groupbox.font() font.setBold(True) self.groupbox.setFont(font) self.listbox_medium = QListWidget() self.listbox_medium2 = QListWidget() self.checkbox = QCheckBox("stack contains patchTpages") groupbox_layout = QVBoxLayout() groupbox_layout.addWidget(self.listbox_medium) groupbox_layout.addWidget(self.listbox_medium2) groupbox_layout.addWidget(self.checkbox) self.groupbox.setLayout(groupbox_layout) self.groupbox2 = QGroupBox("what would you like to receive?") font2 = self.groupbox2.font() font2.setBold(True) self.groupbox2.setFont(font2) self.listbox_target = QListWidget() self.groupbox3 = QGroupBox("move file(s) to") font3 = self.groupbox3.font() font3.setBold(True) self.groupbox3.setFont(font3) checkbox_move_to = QCheckBox("move file(s) to desired folder(s)") groupbox3_layout = QVBoxLayout() groupbox3_layout.addWidget(checkbox_move_to) self.groupbox3.setLayout(groupbox3_layout) groupbox2_layout = QVBoxLayout() groupbox2_layout.addWidget(self.listbox_target) groupbox2_layout.addWidget(self.groupbox3) self.groupbox2.setLayout(groupbox2_layout) self.groupbox4 = QGroupBox("which profile should be used?") font4 = self.groupbox4.font() font4.setBold(True) self.groupbox4.setFont(font4) self.listbox_profile = QListWidget() self.button_add_profile = QPushButton("add profile") self.button_clear_profile = QPushButton("clear profile") groupbox4u_layout = QHBoxLayout() groupbox4u_layout.addWidget(self.button_add_profile) groupbox4u_layout.addWidget(self.button_clear_profile) groupbox4_layout = QVBoxLayout() groupbox4_layout.addWidget(self.listbox_profile) groupbox4_layout.addLayout(groupbox4u_layout) self.groupbox4.setLayout(groupbox4_layout) self.button_apply_selection = QPushButton("apply selection") self.button_adjustments = QPushButton("adjustments") self.label = QLabel("abc") layoutBase = QVBoxLayout() layoutBase.addWidget(self.label) layoutBase.addWidget(self.groupbox) layoutBase.addWidget(self.groupbox2) layoutBase.addWidget(self.groupbox4) layoutBase.addWidget(self.button_apply_selection) layoutBase.addWidget(self.button_adjustments) self.w.setLayout(layoutBase) self.setCentralWidget(self.w) # fill listbox self.listbox_medium.insertItem(0, "paper") self.listbox_medium.insertItem(1, "file(s)") self.button_add_profile.clicked.connect(self.button_add_profile_clicked) self.button_clear_profile.clicked.connect(self.button_clear_profile_clicked) self.button_apply_selection.clicked.connect(self.button_apply_selection_clicked) self.button_adjustments.clicked.connect(self.button_adjustments_clicked) def button_add_profile_clicked(self): print("add_profile") def button_clear_profile_clicked(self): print("clear_profile") def button_adjustments_clicked(self): self.w = AdjustmentsWindow() self.w.show() def button_apply_selection_clicked(self): print("apply_selection") if __name__ == '__main__': app = QApplication(sys.argv) app.setStyleSheet(Path("stylesheet.qss").read_text()) w = MainWindow() w.show() app.exec()