def apply_settings(): f = Settings.get_value('family', 'Serif') size = Settings.get_value('size', 11) f = QFont(f, size, QFont.PreferAntialias) f.setStyleStrategy(QFont.PreferQuality) theme = Settings.get_value('theme', 'Light') if theme == 'Light': p = QPalette() QApplication.setPalette(p) else: palette = QPalette() palette.setColor(QPalette.Window, QColor(53, 53, 53)) palette.setColor(QPalette.WindowText, Qt.white) palette.setColor(QPalette.Base, QColor(25, 25, 25)) palette.setColor(QPalette.AlternateBase, QColor(53, 53, 53)) palette.setColor(QPalette.ToolTipBase, Qt.white) palette.setColor(QPalette.ToolTipText, Qt.white) palette.setColor(QPalette.Text, Qt.white) palette.setColor(QPalette.Button, QColor(53, 53, 53)) palette.setColor(QPalette.ButtonText, Qt.white) palette.setColor(QPalette.BrightText, Qt.red) palette.setColor(QPalette.Link, QColor(42, 130, 218)) palette.setColor(QPalette.Highlight, QColor(42, 130, 218)) palette.setColor(QPalette.HighlightedText, Qt.black) QApplication.setPalette(palette)
def _font_changed(self): f = self.family.currentText() s = self.size.value() self.settings.setValue('family', f) self.settings.setValue('size', s) f = QFont(f, s, QFont.PreferAntialias) f.setStyleStrategy(QFont.PreferQuality) QApplication.setFont(f)
def setupUi(self, Form): if not Form.objectName(): Form.setObjectName(u"Form") Form.resize(400, 300) self.gridLayout = QGridLayout(Form) self.gridLayout.setObjectName(u"gridLayout") self.frame = QFrame(Form) self.frame.setObjectName(u"frame") self.frame.setFrameShape(QFrame.StyledPanel) self.frame.setFrameShadow(QFrame.Raised) self.verticalLayout = QVBoxLayout(self.frame) self.verticalLayout.setObjectName(u"verticalLayout") self.horizontalLayout = QHBoxLayout() self.horizontalLayout.setObjectName(u"horizontalLayout") self.label = QLabel(self.frame) self.label.setObjectName(u"label") self.horizontalLayout.addWidget(self.label) self.nameEdit = QLineEdit(self.frame) self.nameEdit.setObjectName(u"nameEdit") self.horizontalLayout.addWidget(self.nameEdit) self.verticalLayout.addLayout(self.horizontalLayout) self.horizontalLayout_2 = QHBoxLayout() self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.label_2 = QLabel(self.frame) self.label_2.setObjectName(u"label_2") self.horizontalLayout_2.addWidget(self.label_2) self.checkBox = QCheckBox(self.frame) self.checkBox.setObjectName(u"checkBox") self.horizontalLayout_2.addWidget(self.checkBox) self.verticalLayout.addLayout(self.horizontalLayout_2) self.finishButton = QPushButton(self.frame) self.finishButton.setObjectName(u"finishButton") font = QFont() font.setStyleStrategy(QFont.PreferDefault) self.finishButton.setFont(font) self.verticalLayout.addWidget(self.finishButton) self.gridLayout.addWidget(self.frame, 0, 0, 1, 1) self.retranslateUi(Form) QMetaObject.connectSlotsByName(Form)
def _set_font(self): mono_font = QFont("monospace") mono_font.setStyleStrategy(QFont.ForceIntegerMetrics) mono_font.setFixedPitch(True) mono_font.setPointSize(9) font_metrics = QFontMetrics(mono_font) self.font_width = font_metrics.width("M") self.setFont(mono_font) self.layout.setFont(mono_font) self.viewport().setFont(mono_font) self.line_height = self.fontMetrics().height() self.viewport().update()
def setupUi(self, MainWindow): if not MainWindow.objectName(): MainWindow.setObjectName(u"MainWindow") MainWindow.resize(309, 479) font = QFont() font.setStyleStrategy(QFont.PreferDefault) MainWindow.setFont(font) MainWindow.setCursor(QCursor(Qt.ArrowCursor)) MainWindow.setDocumentMode(False) self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName(u"centralwidget") self.verticalLayout = QVBoxLayout(self.centralwidget) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(-1, 9, -1, -1) self.main_vertical = QVBoxLayout() self.main_vertical.setObjectName(u"main_vertical") self.mode_label = QLabel(self.centralwidget) self.mode_label.setObjectName(u"mode_label") font1 = QFont() font1.setPointSize(15) font1.setBold(True) font1.setWeight(75) self.mode_label.setFont(font1) self.main_vertical.addWidget(self.mode_label) self.mode_layout = QHBoxLayout() self.mode_layout.setObjectName(u"mode_layout") self.nothing_radio = QRadioButton(self.centralwidget) self.nothing_radio.setObjectName(u"nothing_radio") self.nothing_radio.setChecked(True) self.mode_layout.addWidget(self.nothing_radio) self.fm_radio = QRadioButton(self.centralwidget) self.fm_radio.setObjectName(u"fm_radio") self.mode_layout.addWidget(self.fm_radio) self.em_radio = QRadioButton(self.centralwidget) self.em_radio.setObjectName(u"em_radio") self.mode_layout.addWidget(self.em_radio) self.main_vertical.addLayout(self.mode_layout) self.od_check = QCheckBox(self.centralwidget) self.od_check.setObjectName(u"od_check") self.main_vertical.addWidget(self.od_check) self.option_label = QLabel(self.centralwidget) self.option_label.setObjectName(u"option_label") self.option_label.setFont(font1) self.main_vertical.addWidget(self.option_label) self.lo_check = QCheckBox(self.centralwidget) self.lo_check.setObjectName(u"lo_check") self.lo_check.setChecked(True) self.main_vertical.addWidget(self.lo_check) self.rtmp_check = QCheckBox(self.centralwidget) self.rtmp_check.setObjectName(u"rtmp_check") self.main_vertical.addWidget(self.rtmp_check) self.dm_check = QCheckBox(self.centralwidget) self.dm_check.setObjectName(u"dm_check") self.main_vertical.addWidget(self.dm_check) self.roi_check = QCheckBox(self.centralwidget) self.roi_check.setObjectName(u"roi_check") self.main_vertical.addWidget(self.roi_check) self.label = QLabel(self.centralwidget) self.label.setObjectName(u"label") font2 = QFont() font2.setPointSize(13) font2.setBold(True) font2.setWeight(75) self.label.setFont(font2) self.main_vertical.addWidget(self.label) self.masking_layout = QHBoxLayout() self.masking_layout.setObjectName(u"masking_layout") self.knife_check = QCheckBox(self.centralwidget) self.knife_check.setObjectName(u"knife_check") self.knife_check.setEnabled(False) self.masking_layout.addWidget(self.knife_check) self.scissor_check = QCheckBox(self.centralwidget) self.scissor_check.setObjectName(u"scissor_check") self.scissor_check.setEnabled(False) self.masking_layout.addWidget(self.scissor_check) self.main_vertical.addLayout(self.masking_layout) self.auth_label = QLabel(self.centralwidget) self.auth_label.setObjectName(u"auth_label") self.auth_label.setEnabled(True) font3 = QFont() font3.setPointSize(15) self.auth_label.setFont(font3) self.main_vertical.addWidget(self.auth_label) self.auth_input = QLineEdit(self.centralwidget) self.auth_input.setObjectName(u"auth_input") self.auth_input.setEnabled(False) self.auth_input.setClearButtonEnabled(False) self.main_vertical.addWidget(self.auth_input) self.start_stop_button = QPushButton(self.centralwidget) self.start_stop_button.setObjectName(u"start_stop_button") font4 = QFont() font4.setPointSize(20) self.start_stop_button.setFont(font4) self.main_vertical.addWidget(self.start_stop_button) self.exit_button = QPushButton(self.centralwidget) self.exit_button.setObjectName(u"exit_button") self.exit_button.setFont(font4) self.main_vertical.addWidget(self.exit_button) self.verticalLayout.addLayout(self.main_vertical) MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QStatusBar(MainWindow) self.statusbar.setObjectName(u"statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QMetaObject.connectSlotsByName(MainWindow)
QObject, QUrl, Slot, Qt, ) class Main(QObject): def __init__(self, parent=None): super().__init__(parent) self.engine = QQmlApplicationEngine(self) self.engine.rootContext().setContextProperty("backend", self) self.engine.load(QUrl.fromLocalFile('app.qml')) @Slot(str) def create(self, string): print(string) QApplication.setAttribute(Qt.AA_EnableHighDpiScaling, True) app = QApplication.instance() if app is None: app = QApplication() font = QFont() font.setStyleStrategy(QFont.PreferQuality) font.setFamily('DejaVu') # font.setPointSize(10) app.setFont(font) main = Main() app.exec_()
def setupUi(self, Form): if not Form.objectName(): Form.setObjectName(u"Form") Form.setWindowModality(Qt.ApplicationModal) Form.resize(400, 550) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth()) Form.setSizePolicy(sizePolicy) Form.setMinimumSize(QSize(400, 550)) Form.setMaximumSize(QSize(400, 550)) font = QFont() font.setStyleStrategy(QFont.PreferDefault) Form.setFont(font) Form.setAutoFillBackground(False) self.verticalLayout_2 = QVBoxLayout(Form) self.verticalLayout_2.setSpacing(0) self.verticalLayout_2.setObjectName(u"verticalLayout_2") self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.widget_8 = QWidget(Form) self.widget_8.setObjectName(u"widget_8") sizePolicy1 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy1.setHorizontalStretch(0) sizePolicy1.setVerticalStretch(0) sizePolicy1.setHeightForWidth( self.widget_8.sizePolicy().hasHeightForWidth()) self.widget_8.setSizePolicy(sizePolicy1) self.widget_8.setMinimumSize(QSize(400, 150)) self.widget_8.setMaximumSize(QSize(400, 150)) self.horizontalLayout = QHBoxLayout(self.widget_8) self.horizontalLayout.setSpacing(0) self.horizontalLayout.setObjectName(u"horizontalLayout") self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.widget = QWidget(self.widget_8) self.widget.setObjectName(u"widget") sizePolicy1.setHeightForWidth( self.widget.sizePolicy().hasHeightForWidth()) self.widget.setSizePolicy(sizePolicy1) self.widget.setMinimumSize(QSize(200, 150)) self.widget.setMaximumSize(QSize(200, 150)) palette = QPalette() brush = QBrush(QColor(255, 255, 255, 255)) brush.setStyle(Qt.SolidPattern) palette.setBrush(QPalette.Active, QPalette.Base, brush) palette.setBrush(QPalette.Active, QPalette.Window, brush) palette.setBrush(QPalette.Inactive, QPalette.Base, brush) palette.setBrush(QPalette.Inactive, QPalette.Window, brush) palette.setBrush(QPalette.Disabled, QPalette.Base, brush) palette.setBrush(QPalette.Disabled, QPalette.Window, brush) self.widget.setPalette(palette) self.widget.setAutoFillBackground(True) self.horizontalLayout_10 = QHBoxLayout(self.widget) self.horizontalLayout_10.setSpacing(0) self.horizontalLayout_10.setObjectName(u"horizontalLayout_10") self.horizontalLayout_10.setContentsMargins(0, 0, 0, 0) self.label = QLabel(self.widget) self.label.setObjectName(u"label") sizePolicy1.setHeightForWidth( self.label.sizePolicy().hasHeightForWidth()) self.label.setSizePolicy(sizePolicy1) self.label.setMinimumSize(QSize(150, 150)) self.label.setMaximumSize(QSize(150, 150)) self.label.setPixmap(QPixmap(u":/symbols/Spine_symbol.png")) self.label.setAlignment(Qt.AlignCenter) self.horizontalLayout_10.addWidget(self.label) self.horizontalLayout.addWidget(self.widget) self.widget_9 = QWidget(self.widget_8) self.widget_9.setObjectName(u"widget_9") palette1 = QPalette() palette1.setBrush(QPalette.Active, QPalette.Base, brush) brush1 = QBrush(QColor(0, 74, 194, 255)) brush1.setStyle(Qt.SolidPattern) palette1.setBrush(QPalette.Active, QPalette.Window, brush1) palette1.setBrush(QPalette.Inactive, QPalette.Base, brush) palette1.setBrush(QPalette.Inactive, QPalette.Window, brush1) palette1.setBrush(QPalette.Disabled, QPalette.Base, brush1) palette1.setBrush(QPalette.Disabled, QPalette.Window, brush1) self.widget_9.setPalette(palette1) self.widget_9.setAutoFillBackground(True) self.verticalLayout = QVBoxLayout(self.widget_9) self.verticalLayout.setObjectName(u"verticalLayout") self.label_spine_toolbox = QLabel(self.widget_9) self.label_spine_toolbox.setObjectName(u"label_spine_toolbox") sizePolicy2 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) sizePolicy2.setHorizontalStretch(0) sizePolicy2.setVerticalStretch(0) sizePolicy2.setHeightForWidth( self.label_spine_toolbox.sizePolicy().hasHeightForWidth()) self.label_spine_toolbox.setSizePolicy(sizePolicy2) self.label_spine_toolbox.setMinimumSize(QSize(0, 0)) self.label_spine_toolbox.setMaximumSize(QSize(16777215, 16777215)) self.label_spine_toolbox.setBaseSize(QSize(0, 0)) font1 = QFont() font1.setFamily(u"Arial Black") font1.setPointSize(6) font1.setBold(False) font1.setWeight(50) self.label_spine_toolbox.setFont(font1) self.label_spine_toolbox.setStyleSheet(u"color: rgb(255, 255, 255);") self.label_spine_toolbox.setScaledContents(True) self.label_spine_toolbox.setAlignment(Qt.AlignCenter) self.verticalLayout.addWidget(self.label_spine_toolbox) self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.verticalLayout.addItem(self.verticalSpacer) self.label_spinedb_api = QLabel(self.widget_9) self.label_spinedb_api.setObjectName(u"label_spinedb_api") sizePolicy2.setHeightForWidth( self.label_spinedb_api.sizePolicy().hasHeightForWidth()) self.label_spinedb_api.setSizePolicy(sizePolicy2) font2 = QFont() font2.setFamily(u"Arial Black") font2.setPointSize(6) self.label_spinedb_api.setFont(font2) self.label_spinedb_api.setStyleSheet(u"color: rgb(255, 255, 255);") self.label_spinedb_api.setAlignment(Qt.AlignCenter) self.verticalLayout.addWidget(self.label_spinedb_api) self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.verticalLayout.addItem(self.verticalSpacer_2) self.label_spine_engine = QLabel(self.widget_9) self.label_spine_engine.setObjectName(u"label_spine_engine") sizePolicy2.setHeightForWidth( self.label_spine_engine.sizePolicy().hasHeightForWidth()) self.label_spine_engine.setSizePolicy(sizePolicy2) self.label_spine_engine.setFont(font2) self.label_spine_engine.setStyleSheet(u"color: rgb(255, 255, 255);") self.label_spine_engine.setAlignment(Qt.AlignCenter) self.verticalLayout.addWidget(self.label_spine_engine) self.verticalSpacer_3 = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.verticalLayout.addItem(self.verticalSpacer_3) self.horizontalLayout.addWidget(self.widget_9) self.verticalLayout_2.addWidget(self.widget_8) self.widget_3 = QWidget(Form) self.widget_3.setObjectName(u"widget_3") sizePolicy3 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) sizePolicy3.setHorizontalStretch(0) sizePolicy3.setVerticalStretch(0) sizePolicy3.setHeightForWidth( self.widget_3.sizePolicy().hasHeightForWidth()) self.widget_3.setSizePolicy(sizePolicy3) self.widget_3.setMinimumSize(QSize(400, 60)) self.widget_3.setMaximumSize(QSize(400, 1000)) palette2 = QPalette() palette2.setBrush(QPalette.Active, QPalette.Base, brush) palette2.setBrush(QPalette.Active, QPalette.Window, brush) palette2.setBrush(QPalette.Inactive, QPalette.Base, brush) palette2.setBrush(QPalette.Inactive, QPalette.Window, brush) palette2.setBrush(QPalette.Disabled, QPalette.Base, brush) palette2.setBrush(QPalette.Disabled, QPalette.Window, brush) self.widget_3.setPalette(palette2) self.widget_3.setAutoFillBackground(True) self.horizontalLayout_4 = QHBoxLayout(self.widget_3) self.horizontalLayout_4.setSpacing(0) self.horizontalLayout_4.setObjectName(u"horizontalLayout_4") self.horizontalLayout_4.setContentsMargins(6, 6, 6, 6) self.textBrowser = QTextBrowser(self.widget_3) self.textBrowser.setObjectName(u"textBrowser") self.textBrowser.setMinimumSize(QSize(0, 0)) self.textBrowser.setMaximumSize(QSize(400, 1000)) font3 = QFont() font3.setPointSize(7) self.textBrowser.setFont(font3) self.textBrowser.setFrameShape(QFrame.StyledPanel) self.textBrowser.setFrameShadow(QFrame.Sunken) self.textBrowser.setLineWidth(1) self.textBrowser.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.TextSelectableByMouse) self.textBrowser.setOpenExternalLinks(True) self.horizontalLayout_4.addWidget(self.textBrowser) self.verticalLayout_2.addWidget(self.widget_3) self.widget_2 = QWidget(Form) self.widget_2.setObjectName(u"widget_2") sizePolicy1.setHeightForWidth( self.widget_2.sizePolicy().hasHeightForWidth()) self.widget_2.setSizePolicy(sizePolicy1) self.widget_2.setMinimumSize(QSize(400, 255)) self.widget_2.setMaximumSize(QSize(400, 255)) palette3 = QPalette() palette3.setBrush(QPalette.Active, QPalette.Base, brush) brush2 = QBrush(QColor(118, 168, 246, 255)) brush2.setStyle(Qt.SolidPattern) palette3.setBrush(QPalette.Active, QPalette.Window, brush2) palette3.setBrush(QPalette.Inactive, QPalette.Base, brush) palette3.setBrush(QPalette.Inactive, QPalette.Window, brush2) palette3.setBrush(QPalette.Disabled, QPalette.Base, brush2) palette3.setBrush(QPalette.Disabled, QPalette.Window, brush2) self.widget_2.setPalette(palette3) self.widget_2.setAutoFillBackground(True) self.verticalLayout_3 = QVBoxLayout(self.widget_2) self.verticalLayout_3.setSpacing(0) self.verticalLayout_3.setObjectName(u"verticalLayout_3") self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) self.widget_5 = QWidget(self.widget_2) self.widget_5.setObjectName(u"widget_5") sizePolicy2.setHeightForWidth( self.widget_5.sizePolicy().hasHeightForWidth()) self.widget_5.setSizePolicy(sizePolicy2) self.widget_5.setMinimumSize(QSize(0, 255)) self.widget_5.setMaximumSize(QSize(16777215, 255)) palette4 = QPalette() palette4.setBrush(QPalette.Active, QPalette.Base, brush) brush3 = QBrush(QColor(153, 204, 51, 255)) brush3.setStyle(Qt.SolidPattern) palette4.setBrush(QPalette.Active, QPalette.Window, brush3) palette4.setBrush(QPalette.Inactive, QPalette.Base, brush) palette4.setBrush(QPalette.Inactive, QPalette.Window, brush3) palette4.setBrush(QPalette.Disabled, QPalette.Base, brush3) palette4.setBrush(QPalette.Disabled, QPalette.Window, brush3) self.widget_5.setPalette(palette4) self.widget_5.setAutoFillBackground(True) self.horizontalLayout_5 = QHBoxLayout(self.widget_5) self.horizontalLayout_5.setSpacing(0) self.horizontalLayout_5.setObjectName(u"horizontalLayout_5") self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0) self.widget_6 = QWidget(self.widget_5) self.widget_6.setObjectName(u"widget_6") palette5 = QPalette() palette5.setBrush(QPalette.Active, QPalette.Base, brush) palette5.setBrush(QPalette.Active, QPalette.Window, brush) palette5.setBrush(QPalette.Inactive, QPalette.Base, brush) palette5.setBrush(QPalette.Inactive, QPalette.Window, brush) palette5.setBrush(QPalette.Disabled, QPalette.Base, brush) palette5.setBrush(QPalette.Disabled, QPalette.Window, brush) self.widget_6.setPalette(palette5) self.widget_6.setAutoFillBackground(True) self.verticalLayout_6 = QVBoxLayout(self.widget_6) self.verticalLayout_6.setSpacing(0) self.verticalLayout_6.setObjectName(u"verticalLayout_6") self.verticalLayout_6.setContentsMargins(0, 0, 0, 0) self.widget_4 = QWidget(self.widget_6) self.widget_4.setObjectName(u"widget_4") sizePolicy1.setHeightForWidth( self.widget_4.sizePolicy().hasHeightForWidth()) self.widget_4.setSizePolicy(sizePolicy1) self.widget_4.setMinimumSize(QSize(200, 85)) self.widget_4.setMaximumSize(QSize(200, 85)) self.horizontalLayout_2 = QHBoxLayout(self.widget_4) self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.label_5 = QLabel(self.widget_4) self.label_5.setObjectName(u"label_5") self.label_5.setMaximumSize(QSize(140, 39)) self.label_5.setPixmap(QPixmap(u":/partner_logos/VTT_logo_2018.png")) self.label_5.setScaledContents(True) self.label_5.setAlignment(Qt.AlignCenter) self.horizontalLayout_2.addWidget(self.label_5) self.verticalLayout_6.addWidget(self.widget_4) self.widget_10 = QWidget(self.widget_6) self.widget_10.setObjectName(u"widget_10") sizePolicy1.setHeightForWidth( self.widget_10.sizePolicy().hasHeightForWidth()) self.widget_10.setSizePolicy(sizePolicy1) self.widget_10.setMinimumSize(QSize(200, 85)) self.widget_10.setMaximumSize(QSize(200, 16777215)) self.horizontalLayout_3 = QHBoxLayout(self.widget_10) self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") self.label_7 = QLabel(self.widget_10) self.label_7.setObjectName(u"label_7") sizePolicy1.setHeightForWidth( self.label_7.sizePolicy().hasHeightForWidth()) self.label_7.setSizePolicy(sizePolicy1) self.label_7.setMaximumSize(QSize(67, 67)) self.label_7.setPixmap(QPixmap(u":/partner_logos/UCD_Dublin_logo.png")) self.label_7.setScaledContents(True) self.label_7.setAlignment(Qt.AlignCenter) self.horizontalLayout_3.addWidget(self.label_7) self.verticalLayout_6.addWidget(self.widget_10) self.widget_11 = QWidget(self.widget_6) self.widget_11.setObjectName(u"widget_11") sizePolicy1.setHeightForWidth( self.widget_11.sizePolicy().hasHeightForWidth()) self.widget_11.setSizePolicy(sizePolicy1) self.widget_11.setMinimumSize(QSize(200, 85)) self.widget_11.setMaximumSize(QSize(200, 85)) self.horizontalLayout_6 = QHBoxLayout(self.widget_11) self.horizontalLayout_6.setObjectName(u"horizontalLayout_6") self.label_6 = QLabel(self.widget_11) self.label_6.setObjectName(u"label_6") self.label_6.setMaximumSize(QSize(68, 68)) self.label_6.setPixmap(QPixmap(u":/partner_logos/KTH_logo.png")) self.label_6.setScaledContents(True) self.label_6.setAlignment(Qt.AlignCenter) self.horizontalLayout_6.addWidget(self.label_6) self.verticalLayout_6.addWidget(self.widget_11) self.horizontalLayout_5.addWidget(self.widget_6) self.widget_7 = QWidget(self.widget_5) self.widget_7.setObjectName(u"widget_7") palette6 = QPalette() palette6.setBrush(QPalette.Active, QPalette.Base, brush) palette6.setBrush(QPalette.Active, QPalette.Window, brush) palette6.setBrush(QPalette.Inactive, QPalette.Base, brush) palette6.setBrush(QPalette.Inactive, QPalette.Window, brush) palette6.setBrush(QPalette.Disabled, QPalette.Base, brush) palette6.setBrush(QPalette.Disabled, QPalette.Window, brush) self.widget_7.setPalette(palette6) self.widget_7.setAutoFillBackground(True) self.verticalLayout_5 = QVBoxLayout(self.widget_7) self.verticalLayout_5.setSpacing(0) self.verticalLayout_5.setObjectName(u"verticalLayout_5") self.verticalLayout_5.setContentsMargins(0, 0, 0, 0) self.widget_12 = QWidget(self.widget_7) self.widget_12.setObjectName(u"widget_12") sizePolicy1.setHeightForWidth( self.widget_12.sizePolicy().hasHeightForWidth()) self.widget_12.setSizePolicy(sizePolicy1) self.widget_12.setMinimumSize(QSize(200, 85)) self.widget_12.setMaximumSize(QSize(200, 85)) self.horizontalLayout_7 = QHBoxLayout(self.widget_12) self.horizontalLayout_7.setObjectName(u"horizontalLayout_7") self.label_4 = QLabel(self.widget_12) self.label_4.setObjectName(u"label_4") sizePolicy1.setHeightForWidth( self.label_4.sizePolicy().hasHeightForWidth()) self.label_4.setSizePolicy(sizePolicy1) self.label_4.setMaximumSize(QSize(166, 34)) self.label_4.setPixmap( QPixmap(u":/partner_logos/Energy_Reform_logo.png")) self.label_4.setScaledContents(True) self.label_4.setAlignment(Qt.AlignCenter) self.horizontalLayout_7.addWidget(self.label_4) self.verticalLayout_5.addWidget(self.widget_12) self.widget_13 = QWidget(self.widget_7) self.widget_13.setObjectName(u"widget_13") sizePolicy1.setHeightForWidth( self.widget_13.sizePolicy().hasHeightForWidth()) self.widget_13.setSizePolicy(sizePolicy1) self.widget_13.setMinimumSize(QSize(200, 85)) self.widget_13.setMaximumSize(QSize(200, 85)) self.horizontalLayout_8 = QHBoxLayout(self.widget_13) self.horizontalLayout_8.setObjectName(u"horizontalLayout_8") self.label_2 = QLabel(self.widget_13) self.label_2.setObjectName(u"label_2") sizePolicy1.setHeightForWidth( self.label_2.sizePolicy().hasHeightForWidth()) self.label_2.setSizePolicy(sizePolicy1) self.label_2.setMaximumSize(QSize(90, 32)) self.label_2.setPixmap(QPixmap(u":/partner_logos/KU_Leuven_logo.png")) self.label_2.setScaledContents(True) self.label_2.setAlignment(Qt.AlignCenter) self.horizontalLayout_8.addWidget(self.label_2) self.verticalLayout_5.addWidget(self.widget_13) self.widget_14 = QWidget(self.widget_7) self.widget_14.setObjectName(u"widget_14") sizePolicy4 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed) sizePolicy4.setHorizontalStretch(0) sizePolicy4.setVerticalStretch(0) sizePolicy4.setHeightForWidth( self.widget_14.sizePolicy().hasHeightForWidth()) self.widget_14.setSizePolicy(sizePolicy4) self.widget_14.setMinimumSize(QSize(0, 85)) self.widget_14.setMaximumSize(QSize(16777215, 85)) self.horizontalLayout_9 = QHBoxLayout(self.widget_14) self.horizontalLayout_9.setSpacing(0) self.horizontalLayout_9.setObjectName(u"horizontalLayout_9") self.horizontalLayout_9.setContentsMargins(0, 0, 0, 0) self.label_3 = QLabel(self.widget_14) self.label_3.setObjectName(u"label_3") sizePolicy1.setHeightForWidth( self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy1) self.label_3.setMinimumSize(QSize(200, 85)) self.label_3.setMaximumSize(QSize(200, 85)) font4 = QFont() font4.setFamily(u"Arial Black") font4.setPointSize(8) font4.setBold(True) font4.setWeight(75) self.label_3.setFont(font4) self.label_3.setStyleSheet(u"background-color: rgb(0, 74, 194);") self.label_3.setTextFormat(Qt.RichText) self.label_3.setAlignment(Qt.AlignCenter) self.label_3.setMargin(0) self.label_3.setOpenExternalLinks(True) self.horizontalLayout_9.addWidget(self.label_3) self.verticalLayout_5.addWidget(self.widget_14) self.horizontalLayout_5.addWidget(self.widget_7) self.verticalLayout_3.addWidget(self.widget_5) self.verticalLayout_2.addWidget(self.widget_2) self.retranslateUi(Form) QMetaObject.connectSlotsByName(Form)
def paint(self, painter: QPainter, option: QStyleOptionGraphicsItem, widget: QWidget = ...): fillColor = self.color.darker( 150) if option.state & QStyle.State_Selected else self.color if option.state & QStyle.State_MouseOver: fillColor = fillColor.lighter(125) lod = option.levelOfDetailFromTransform(painter.worldTransform()) if lod < 0.2: if lod < 0.125: painter.fillRect(QRectF(0, 0, 110, 70), fillColor) return b = painter.brush() painter.setBrush(fillColor) painter.drawRect(13, 13, 97, 57) painter.setBrush(b) return oldPen = painter.pen() pen = oldPen width = 0 if option.state & QStyle.State_Selected: width += 2 pen.setWidth(width) b = painter.brush() painter.setBrush( QBrush( fillColor.darker(120 if option.state & QStyle.State_Sunken else 100))) painter.drawRect(QRect(14, 14, 79, 39)) painter.setBrush(b) if lod >= 1: painter.setPen(QPen(Qt.gray, 1)) painter.drawLine(15, 54, 94, 54) painter.drawLine(94, 53, 94, 15) painter.setPen(QPen(Qt.black, 0)) # Draw text if lod >= 2: font = QFont("Times", 10) font.setStyleStrategy(QFont.ForceOutline) painter.setFont(font) painter.save() painter.scale(0.1, 0.1) painter.drawText( 170, 180, f"Model: VSC-2000 (Very Small Chip) at {self.x}x{self.y}") painter.drawText(170, 200, "Serial number: DLWR-WEER-123L-ZZ33-SDSJ") painter.drawText(170, 220, "Manufacturer: Chip Manufacturer") painter.restore() # Drawlines lines: List[QLineF] = [] if lod >= 0.5: s = 1 if lod > 0.5 else 2 for i in range(0, 11, s): lines.append(QLineF(18 + 7 * i, 13, 18 + 7 * i, 5)) lines.append(QLineF(18 + 7 * i, 54, 18 + 7 * i, 62)) for i in range(0, 7, s): lines.append(QLineF(5, 18 + i * 5, 13, 18 + i * 5)) lines.append(QLineF(94, 18 + i * 5, 102, 18 + i * 5)) if lod >= 0.4: lines.extend([ QLineF(25, 35, 35, 35), QLineF(35, 30, 35, 40), QLineF(35, 30, 45, 35), QLineF(35, 40, 45, 35), QLineF(45, 30, 45, 40), QLineF(45, 35, 55, 35) ]) painter.drawLines(lines[:]) ## Draw red ink if len(self.stuff) > 1: p = painter.pen() painter.setPen( QPen(Qt.red, 1, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) painter.setBrush(Qt.NoBrush) path = QPainterPath() path.moveTo(self.stuff[0]) for i in range(1, len(self.stuff)): path.lineTo(self.stuff[i]) painter.drawPath(path) painter.setPen(p)
def setupUi(self, DsManager): if not DsManager.objectName(): DsManager.setObjectName(u"DsManager") DsManager.setWindowModality(Qt.WindowModal) DsManager.resize(1156, 934) sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( DsManager.sizePolicy().hasHeightForWidth()) DsManager.setSizePolicy(sizePolicy) DsManager.setMinimumSize(QSize(0, 800)) font = QFont() font.setFamily(u"Arial Narrow") font.setPointSize(11) font.setBold(False) font.setItalic(False) font.setWeight(50) DsManager.setFont(font) icon = QIcon() icon.addFile(u"inc/icon.ico", QSize(), QIcon.Normal, QIcon.Off) DsManager.setWindowIcon(icon) DsManager.setStyleSheet( u"QMainWindow{\n" "background-image:url(:/images/background.jpg);\n" "background-repeat:none;\n" "}\n" "QPushButton {\n" " border: 2px solid rgb(52, 59, 72);\n" " border-radius: 5px; \n" " background-color: rgb(199, 200, 255);\n" " padding: 5px\n" "}\n" "QPushButton:hover {\n" " border: 2px solid rgb(61, 70, 86);\n" "}\n" "QPushButton:pressed { \n" " background-color: rgb(35, 40, 49);\n" " border: 2px solid rgb(43, 50, 61);\n" "}") DsManager.setToolButtonStyle(Qt.ToolButtonIconOnly) DsManager.setAnimated(True) DsManager.setDocumentMode(False) DsManager.setDockNestingEnabled(True) self.actionAbut_DS_Manager = QAction(DsManager) self.actionAbut_DS_Manager.setObjectName(u"actionAbut_DS_Manager") icon1 = QIcon() icon1.addFile(u":/icons/icon.png", QSize(), QIcon.Normal, QIcon.Off) self.actionAbut_DS_Manager.setIcon(icon1) self.actionAbut_DS_Manager.setShortcutContext(Qt.WidgetShortcut) self.actionAbut_DS_Manager.setMenuRole(QAction.TextHeuristicRole) self.actionBackup_Database = QAction(DsManager) self.actionBackup_Database.setObjectName(u"actionBackup_Database") font1 = QFont() font1.setFamily(u"Microsoft YaHei UI") font1.setPointSize(8) self.actionBackup_Database.setFont(font1) self.actionRestore_Database = QAction(DsManager) self.actionRestore_Database.setObjectName(u"actionRestore_Database") self.centralwidget = QWidget(DsManager) self.centralwidget.setObjectName(u"centralwidget") sizePolicy.setHeightForWidth( self.centralwidget.sizePolicy().hasHeightForWidth()) self.centralwidget.setSizePolicy(sizePolicy) self.verticalLayout_2 = QVBoxLayout(self.centralwidget) self.verticalLayout_2.setObjectName(u"verticalLayout_2") self.horizontalLayout = QHBoxLayout() self.horizontalLayout.setObjectName(u"horizontalLayout") self.horizontalSpacer_3 = QSpacerItem(250, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(self.horizontalSpacer_3) self.label = QLabel(self.centralwidget) self.label.setObjectName(u"label") sizePolicy1 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy1.setHorizontalStretch(0) sizePolicy1.setVerticalStretch(0) sizePolicy1.setHeightForWidth( self.label.sizePolicy().hasHeightForWidth()) self.label.setSizePolicy(sizePolicy1) self.label.setMaximumSize(QSize(164, 164)) self.label.setStyleSheet(u"") self.label.setTextFormat(Qt.PlainText) self.label.setPixmap(QPixmap(u":/icons/home_logo.png")) self.label.setScaledContents(True) self.label.setAlignment(Qt.AlignLeading | Qt.AlignLeft | Qt.AlignVCenter) self.horizontalLayout.addWidget(self.label) self.horizontalSpacer = QSpacerItem(150, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(self.horizontalSpacer) self.label_11 = QLabel(self.centralwidget) self.label_11.setObjectName(u"label_11") sizePolicy2 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) sizePolicy2.setHorizontalStretch(0) sizePolicy2.setVerticalStretch(0) sizePolicy2.setHeightForWidth( self.label_11.sizePolicy().hasHeightForWidth()) self.label_11.setSizePolicy(sizePolicy2) font2 = QFont() font2.setFamily(u"Tahoma") font2.setPointSize(14) font2.setBold(True) font2.setItalic(False) font2.setWeight(75) font2.setStyleStrategy(QFont.PreferAntialias) self.label_11.setFont(font2) self.label_11.setLayoutDirection(Qt.RightToLeft) self.label_11.setStyleSheet(u"color: white;\n" "padding:10px;\n" "text-align:left;") self.label_11.setAlignment(Qt.AlignHCenter | Qt.AlignTop) self.label_11.setWordWrap(False) self.label_11.setMargin(10) self.label_11.setOpenExternalLinks(False) self.horizontalLayout.addWidget(self.label_11) self.horizontalSpacer_2 = QSpacerItem(250, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(self.horizontalSpacer_2) self.verticalLayout_2.addLayout(self.horizontalLayout) self.verticalLayout = QVBoxLayout() self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(60, 10, 30, 25) self.tabWidget = QTabWidget(self.centralwidget) self.tabWidget.setObjectName(u"tabWidget") self.tabWidget.setEnabled(True) sizePolicy.setHeightForWidth( self.tabWidget.sizePolicy().hasHeightForWidth()) self.tabWidget.setSizePolicy(sizePolicy) self.tabWidget.setMaximumSize(QSize(1500, 16777215)) font3 = QFont() font3.setFamily(u"Microsoft YaHei UI") font3.setPointSize(9) font3.setBold(True) font3.setItalic(False) font3.setWeight(75) self.tabWidget.setFont(font3) self.tabWidget.setAcceptDrops(False) self.tabWidget.setToolTipDuration(-1) # if QT_CONFIG(accessibility) self.tabWidget.setAccessibleDescription(u"") # endif // QT_CONFIG(accessibility) self.tabWidget.setLayoutDirection(Qt.LeftToRight) self.tabWidget.setAutoFillBackground(False) self.tabWidget.setStyleSheet( u"QWidget{\n" " background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0199005 rgba(173, 224, 209, 207), stop:0.965174 rgba(165, 218, 214, 170));\n" " border:0px;\n" " height:30%;\n" "}\n" "\n" "QTabWidget::pane {\n" " border: 0;\n" " background-color:rgb(220, 255, 247);\n" " border-radius: 10px;\n" "}\n" "\n" "QCalendarWidget QToolButton{\n" " color: black;\n" " background-color:rgb(156, 255, 231);\n" "}\n" "\n" " \n" "\n" "QCalendarWidget QAbstractItemView:enabled \n" " {\n" " \n" " color: black; \n" " background-color: rgb(198, 255, 232); \n" " selection-background-color: rgb(64, 64, 64); \n" " selection-color: rgb(0, 255, 0); \n" " }\n" "\n" "QTabBar::tab {\n" " width: 200;\n" " background: gray;\n" " color: white;\n" " padding: 10px; \n" " border-radius: 40px;\n" "}\n" "\n" "QTabBar::tab:selected {\n" " background: qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0199005 rgba(173, 224, 209, 207), stop:0.965174 rgba(165, 218," " 214, 170));\n" " color: rgb(9, 0, 79);\n" " padding: 10px; \n" " border-radius: 40px;\n" "}") self.tabWidget.setTabPosition(QTabWidget.North) self.tabWidget.setTabShape(QTabWidget.Rounded) self.tabWidget.setIconSize(QSize(0, 0)) self.tabWidget.setElideMode(Qt.ElideNone) self.tabWidget.setDocumentMode(False) self.tabWidget.setTabsClosable(False) self.tabWidget.setMovable(True) self.tabWidget.setTabBarAutoHide(False) self.data_entry_tab = QWidget() self.data_entry_tab.setObjectName(u"data_entry_tab") font4 = QFont() font4.setBold(False) font4.setWeight(50) self.data_entry_tab.setFont(font4) self.gridLayout = QGridLayout(self.data_entry_tab) self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setSizeConstraint(QLayout.SetDefaultConstraint) self.gridLayout.setHorizontalSpacing(10) self.gridLayout.setVerticalSpacing(30) self.gridLayout.setContentsMargins(80, 40, 20, 10) self.label_13 = QLabel(self.data_entry_tab) self.label_13.setObjectName(u"label_13") sizePolicy2.setHeightForWidth( self.label_13.sizePolicy().hasHeightForWidth()) self.label_13.setSizePolicy(sizePolicy2) font5 = QFont() font5.setFamily(u"Microsoft YaHei UI") font5.setPointSize(11) font5.setBold(False) font5.setWeight(50) font5.setStyleStrategy(QFont.PreferAntialias) self.label_13.setFont(font5) self.gridLayout.addWidget(self.label_13, 8, 1, 1, 1) self.label_10 = QLabel(self.data_entry_tab) self.label_10.setObjectName(u"label_10") sizePolicy2.setHeightForWidth( self.label_10.sizePolicy().hasHeightForWidth()) self.label_10.setSizePolicy(sizePolicy2) font6 = QFont() font6.setFamily(u"Microsoft YaHei UI") font6.setPointSize(11) font6.setBold(False) font6.setItalic(False) font6.setWeight(50) font6.setStrikeOut(False) font6.setStyleStrategy(QFont.PreferAntialias) self.label_10.setFont(font6) self.label_10.setStyleSheet(u"") self.gridLayout.addWidget(self.label_10, 5, 1, 1, 1) self.clear_entry_button = QPushButton(self.data_entry_tab) self.clear_entry_button.setObjectName(u"clear_entry_button") sizePolicy3 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed) sizePolicy3.setHorizontalStretch(0) sizePolicy3.setVerticalStretch(0) sizePolicy3.setHeightForWidth( self.clear_entry_button.sizePolicy().hasHeightForWidth()) self.clear_entry_button.setSizePolicy(sizePolicy3) font7 = QFont() font7.setFamily(u"Microsoft YaHei UI") font7.setPointSize(11) font7.setBold(True) font7.setItalic(False) font7.setWeight(75) font7.setKerning(True) self.clear_entry_button.setFont(font7) self.clear_entry_button.setStyleSheet( u"QPushButton{\n" "background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0547264 rgba(10, 103, 95, 209), stop:1 rgba(13, 136, 125, 209));\n" "width:110%;\n" "height:40%;\n" "color:white;\n" "border-radius:8px;\n" "}\n" "\n" "\n" " QPushButton:hover:!pressed\n" "{\n" " border: 2px solid rgb(41, 135, 140);\n" "background-color:rgb(199, 248, 255);\n" "color:black;\n" "\n" "}") self.clear_entry_button.setIconSize(QSize(40, 40)) self.gridLayout.addWidget(self.clear_entry_button, 12, 2, 1, 1) self.enter_data_button = QPushButton(self.data_entry_tab) self.enter_data_button.setObjectName(u"enter_data_button") sizePolicy3.setHeightForWidth( self.enter_data_button.sizePolicy().hasHeightForWidth()) self.enter_data_button.setSizePolicy(sizePolicy3) font8 = QFont() font8.setFamily(u"Microsoft YaHei UI") font8.setPointSize(11) font8.setBold(True) font8.setItalic(False) font8.setWeight(75) self.enter_data_button.setFont(font8) self.enter_data_button.setStyleSheet( u"QPushButton{\n" "background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0547264 rgba(10, 103, 95, 209), stop:1 rgba(13, 136, 125, 209));\n" "width:110%;\n" "height:40%;\n" "color:white;\n" "border-radius:8px;\n" "}\n" "\n" "\n" " QPushButton:hover:!pressed\n" "{\n" " border: 2px solid rgb(41, 135, 140);\n" "background-color:rgb(199, 248, 255);\n" "color:black;\n" "\n" "}") self.gridLayout.addWidget(self.enter_data_button, 12, 4, 1, 1) self.label_3 = QLabel(self.data_entry_tab) self.label_3.setObjectName(u"label_3") sizePolicy4 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred) sizePolicy4.setHorizontalStretch(0) sizePolicy4.setVerticalStretch(0) sizePolicy4.setHeightForWidth( self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy4) self.label_3.setFont(font6) self.gridLayout.addWidget(self.label_3, 2, 1, 1, 1) self.more_trans_detail = QLineEdit(self.data_entry_tab) self.more_trans_detail.setObjectName(u"more_trans_detail") sizePolicy5 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) sizePolicy5.setHorizontalStretch(0) sizePolicy5.setVerticalStretch(0) sizePolicy5.setHeightForWidth( self.more_trans_detail.sizePolicy().hasHeightForWidth()) self.more_trans_detail.setSizePolicy(sizePolicy5) self.more_trans_detail.setMaximumSize(QSize(300, 16777215)) font9 = QFont() font9.setFamily(u"Microsoft YaHei UI") font9.setPointSize(11) font9.setBold(False) font9.setItalic(False) font9.setWeight(50) self.more_trans_detail.setFont(font9) self.more_trans_detail.setStyleSheet( u"QLineEdit {\n" " border-radius: 5px;\n" " border: 2px solid rgb(27, 29, 35);\n" " padding-left: 10px;\n" "}\n" "QLineEdit:hover {\n" " border: 2px solid rgb(64, 71, 88);\n" "}\n" "QLineEdit:focus {\n" " border: 2px solid rgb(91, 101, 124);\n" "}") self.more_trans_detail.setCursorMoveStyle(Qt.VisualMoveStyle) self.more_trans_detail.setClearButtonEnabled(True) self.gridLayout.addWidget(self.more_trans_detail, 3, 7, 1, 1) self.method_of_trans = QComboBox(self.data_entry_tab) self.method_of_trans.setObjectName(u"method_of_trans") sizePolicy6 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed) sizePolicy6.setHorizontalStretch(0) sizePolicy6.setVerticalStretch(0) sizePolicy6.setHeightForWidth( self.method_of_trans.sizePolicy().hasHeightForWidth()) self.method_of_trans.setSizePolicy(sizePolicy6) self.method_of_trans.setMaximumSize(QSize(300, 16777215)) palette = QPalette() gradient = QLinearGradient(0.532552, 0, 0.522, 0.926136) gradient.setSpread(QGradient.PadSpread) gradient.setCoordinateMode(QGradient.ObjectBoundingMode) gradient.setColorAt(0.0199005, QColor(50, 186, 144, 52)) gradient.setColorAt(0.482587, QColor(65, 156, 128, 54)) gradient.setColorAt(0.975124, QColor(75, 164, 181, 80)) brush = QBrush(gradient) palette.setBrush(QPalette.Active, QPalette.Button, brush) gradient1 = QLinearGradient(0.532552, 0, 0.522, 0.926136) gradient1.setSpread(QGradient.PadSpread) gradient1.setCoordinateMode(QGradient.ObjectBoundingMode) gradient1.setColorAt(0.0199005, QColor(50, 186, 144, 52)) gradient1.setColorAt(0.482587, QColor(65, 156, 128, 54)) gradient1.setColorAt(0.975124, QColor(75, 164, 181, 80)) brush1 = QBrush(gradient1) palette.setBrush(QPalette.Active, QPalette.Base, brush1) gradient2 = QLinearGradient(0.532552, 0, 0.522, 0.926136) gradient2.setSpread(QGradient.PadSpread) gradient2.setCoordinateMode(QGradient.ObjectBoundingMode) gradient2.setColorAt(0.0199005, QColor(50, 186, 144, 52)) gradient2.setColorAt(0.482587, QColor(65, 156, 128, 54)) gradient2.setColorAt(0.975124, QColor(75, 164, 181, 80)) brush2 = QBrush(gradient2) palette.setBrush(QPalette.Active, QPalette.Window, brush2) gradient3 = QLinearGradient(0.532552, 0, 0.522, 0.926136) gradient3.setSpread(QGradient.PadSpread) gradient3.setCoordinateMode(QGradient.ObjectBoundingMode) gradient3.setColorAt(0.0199005, QColor(50, 186, 144, 52)) gradient3.setColorAt(0.482587, QColor(65, 156, 128, 54)) gradient3.setColorAt(0.975124, QColor(75, 164, 181, 80)) brush3 = QBrush(gradient3) palette.setBrush(QPalette.Inactive, QPalette.Button, brush3) gradient4 = QLinearGradient(0.532552, 0, 0.522, 0.926136) gradient4.setSpread(QGradient.PadSpread) gradient4.setCoordinateMode(QGradient.ObjectBoundingMode) gradient4.setColorAt(0.0199005, QColor(50, 186, 144, 52)) gradient4.setColorAt(0.482587, QColor(65, 156, 128, 54)) gradient4.setColorAt(0.975124, QColor(75, 164, 181, 80)) brush4 = QBrush(gradient4) palette.setBrush(QPalette.Inactive, QPalette.Base, brush4) gradient5 = QLinearGradient(0.532552, 0, 0.522, 0.926136) gradient5.setSpread(QGradient.PadSpread) gradient5.setCoordinateMode(QGradient.ObjectBoundingMode) gradient5.setColorAt(0.0199005, QColor(50, 186, 144, 52)) gradient5.setColorAt(0.482587, QColor(65, 156, 128, 54)) gradient5.setColorAt(0.975124, QColor(75, 164, 181, 80)) brush5 = QBrush(gradient5) palette.setBrush(QPalette.Inactive, QPalette.Window, brush5) gradient6 = QLinearGradient(0.532552, 0, 0.522, 0.926136) gradient6.setSpread(QGradient.PadSpread) gradient6.setCoordinateMode(QGradient.ObjectBoundingMode) gradient6.setColorAt(0.0199005, QColor(50, 186, 144, 52)) gradient6.setColorAt(0.482587, QColor(65, 156, 128, 54)) gradient6.setColorAt(0.975124, QColor(75, 164, 181, 80)) brush6 = QBrush(gradient6) palette.setBrush(QPalette.Disabled, QPalette.Button, brush6) gradient7 = QLinearGradient(0.532552, 0, 0.522, 0.926136) gradient7.setSpread(QGradient.PadSpread) gradient7.setCoordinateMode(QGradient.ObjectBoundingMode) gradient7.setColorAt(0.0199005, QColor(50, 186, 144, 52)) gradient7.setColorAt(0.482587, QColor(65, 156, 128, 54)) gradient7.setColorAt(0.975124, QColor(75, 164, 181, 80)) brush7 = QBrush(gradient7) palette.setBrush(QPalette.Disabled, QPalette.Base, brush7) gradient8 = QLinearGradient(0.532552, 0, 0.522, 0.926136) gradient8.setSpread(QGradient.PadSpread) gradient8.setCoordinateMode(QGradient.ObjectBoundingMode) gradient8.setColorAt(0.0199005, QColor(50, 186, 144, 52)) gradient8.setColorAt(0.482587, QColor(65, 156, 128, 54)) gradient8.setColorAt(0.975124, QColor(75, 164, 181, 80)) brush8 = QBrush(gradient8) palette.setBrush(QPalette.Disabled, QPalette.Window, brush8) self.method_of_trans.setPalette(palette) font10 = QFont() font10.setFamily(u"Microsoft YaHei UI") font10.setPointSize(12) font10.setBold(False) font10.setItalic(False) font10.setWeight(50) self.method_of_trans.setFont(font10) self.method_of_trans.setStyleSheet( u"QComboBox{\n" " background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0199005 rgba(50, 186, 144, 52), stop:0.482587 rgba(65, 156, 128, 54), stop:0.975124 rgba(75, 164, 181, 80));\n" "}\n" "QComboBox:hover{\n" " border: 2px solid rgb(64, 71, 88);\n" " \n" "}\n" "QComboBox QAbstractItemView {\n" " padding: 10px;\n" "\n" " background-color:rgb(170, 255, 230)\n" " \n" " \n" "}\n" "\n" "QComboBox QAbstractItemView{border-radius: 5px;\n" " border: 2px ;\n" " padding: 5px;\n" " padding-left: 10px;\n" " }") self.gridLayout.addWidget(self.method_of_trans, 2, 7, 1, 1) self.horizontalLayout_2 = QHBoxLayout() self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.cash_radio = QRadioButton(self.data_entry_tab) self.cash_radio.setObjectName(u"cash_radio") sizePolicy7 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) sizePolicy7.setHorizontalStretch(0) sizePolicy7.setVerticalStretch(0) sizePolicy7.setHeightForWidth( self.cash_radio.sizePolicy().hasHeightForWidth()) self.cash_radio.setSizePolicy(sizePolicy7) self.cash_radio.setMinimumSize(QSize(80, 0)) self.cash_radio.setFont(font9) self.horizontalLayout_2.addWidget(self.cash_radio) self.main_radio = QRadioButton(self.data_entry_tab) self.main_radio.setObjectName(u"main_radio") self.main_radio.setMinimumSize(QSize(150, 0)) self.main_radio.setFont(font9) self.horizontalLayout_2.addWidget(self.main_radio) self.building_radio = QRadioButton(self.data_entry_tab) self.building_radio.setObjectName(u"building_radio") self.building_radio.setMinimumSize(QSize(175, 0)) font11 = QFont() font11.setFamily(u"Microsoft YaHei UI") font11.setPointSize(11) self.building_radio.setFont(font11) self.horizontalLayout_2.addWidget(self.building_radio) self.gridLayout.addLayout(self.horizontalLayout_2, 5, 7, 1, 1) self.label_9 = QLabel(self.data_entry_tab) self.label_9.setObjectName(u"label_9") sizePolicy2.setHeightForWidth( self.label_9.sizePolicy().hasHeightForWidth()) self.label_9.setSizePolicy(sizePolicy2) self.label_9.setFont(font6) self.gridLayout.addWidget(self.label_9, 3, 1, 1, 4) self.label_4 = QLabel(self.data_entry_tab) self.label_4.setObjectName(u"label_4") sizePolicy2.setHeightForWidth( self.label_4.sizePolicy().hasHeightForWidth()) self.label_4.setSizePolicy(sizePolicy2) self.label_4.setFont(font6) self.label_4.setStyleSheet(u"") self.gridLayout.addWidget(self.label_4, 4, 1, 1, 1) self.label_5 = QLabel(self.data_entry_tab) self.label_5.setObjectName(u"label_5") sizePolicy4.setHeightForWidth( self.label_5.sizePolicy().hasHeightForWidth()) self.label_5.setSizePolicy(sizePolicy4) self.label_5.setFont(font6) self.gridLayout.addWidget(self.label_5, 7, 1, 1, 1) self.horizontalSpacer_9 = QSpacerItem(100, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.gridLayout.addItem(self.horizontalSpacer_9, 12, 3, 1, 1) self.horizontalSpacer_8 = QSpacerItem(100, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.gridLayout.addItem(self.horizontalSpacer_8, 12, 7, 1, 1) self.horizontalLayout_4 = QHBoxLayout() self.horizontalLayout_4.setObjectName(u"horizontalLayout_4") self.reversed_entry_increase = QCheckBox(self.data_entry_tab) self.reversed_entry_increase.setObjectName(u"reversed_entry_increase") self.reversed_entry_increase.setFont(font11) self.horizontalLayout_4.addWidget(self.reversed_entry_increase) self.reversed_entry_decrease = QCheckBox(self.data_entry_tab) self.reversed_entry_decrease.setObjectName(u"reversed_entry_decrease") self.reversed_entry_decrease.setFont(font11) self.horizontalLayout_4.addWidget(self.reversed_entry_decrease) self.gridLayout.addLayout(self.horizontalLayout_4, 8, 7, 1, 1) self.date_of_entry = QDateEdit(self.data_entry_tab) self.date_of_entry.setObjectName(u"date_of_entry") sizePolicy6.setHeightForWidth( self.date_of_entry.sizePolicy().hasHeightForWidth()) self.date_of_entry.setSizePolicy(sizePolicy6) self.date_of_entry.setMaximumSize(QSize(150, 16777215)) self.date_of_entry.setFont(font9) self.date_of_entry.setStyleSheet( u"QDateEdit{\n" " border-radius: 5px;\n" " border: 2px solid rgb(27, 29, 35);\n" " padding: 5px;\n" " padding-left: 10px;\n" "\n" " background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0199005 rgba(50, 186, 144, 52), stop:0.482587 rgba(65, 156, 128, 54), stop:0.975124 rgba(75, 164, 181, 80));\n" " \n" " \n" "}\n" "QDateEdit:hover{\n" " border: 2px solid rgb(64, 71, 88);\n" " \n" " \n" " \n" " \n" "}\n" "\n" "QCalendarWidget QToolButton{\n" "\n" " color: black;\n" " background-color:rgb(156, 255, 231);}\n" "\n" " \n" "\n" "QCalendarWidget QAbstractItemView:enabled \n" " {\n" " \n" " color: black; \n" " background-color: rgb(198, 255, 232); \n" " selection-background-color: rgb(64, 64, 64); \n" " selection-color: rgb(0, 255, 0); \n" " }") self.date_of_entry.setMinimumDateTime( QDateTime(QDate(1767, 9, 14), QTime(0, 0, 0))) self.date_of_entry.setCalendarPopup(True) self.gridLayout.addWidget(self.date_of_entry, 4, 7, 1, 1) self.money = QLineEdit(self.data_entry_tab) self.money.setObjectName(u"money") sizePolicy6.setHeightForWidth( self.money.sizePolicy().hasHeightForWidth()) self.money.setSizePolicy(sizePolicy6) self.money.setMaximumSize(QSize(200, 16777215)) self.money.setFont(font9) self.money.setStyleSheet(u"QLineEdit {\n" " border-radius: 5px;\n" " border: 2px solid rgb(27, 29, 35);\n" " padding-left: 10px;\n" "}\n" "QLineEdit:hover {\n" " border: 2px solid rgb(64, 71, 88);\n" "}\n" "QLineEdit:focus {\n" " border: 2px solid rgb(91, 101, 124);\n" "}") self.money.setInputMethodHints(Qt.ImhDigitsOnly) self.money.setText(u"") self.money.setFrame(True) self.money.setClearButtonEnabled(True) self.gridLayout.addWidget(self.money, 7, 7, 1, 1) self.label_2 = QLabel(self.data_entry_tab) self.label_2.setObjectName(u"label_2") sizePolicy2.setHeightForWidth( self.label_2.sizePolicy().hasHeightForWidth()) self.label_2.setSizePolicy(sizePolicy2) self.label_2.setFont(font6) self.gridLayout.addWidget(self.label_2, 1, 1, 1, 1) self.trans_type = QComboBox(self.data_entry_tab) self.trans_type.addItem(u"Income") self.trans_type.addItem("") self.trans_type.addItem("") self.trans_type.addItem("") self.trans_type.setObjectName(u"trans_type") sizePolicy6.setHeightForWidth( self.trans_type.sizePolicy().hasHeightForWidth()) self.trans_type.setSizePolicy(sizePolicy6) self.trans_type.setMaximumSize(QSize(300, 16777215)) self.trans_type.setFont(font9) self.trans_type.setStyleSheet( u"QComboBox{\n" " background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0199005 rgba(50, 186, 144, 52), stop:0.482587 rgba(65, 156, 128, 54), stop:0.975124 rgba(75, 164, 181, 80));\n" " \n" " \n" " \n" "\n" " \n" "\n" " \n" "}\n" "QComboBox:hover{\n" " border: 2px solid rgb(64, 71, 88);\n" " \n" " \n" "}\n" "QComboBox QAbstractItemView {\n" " padding: 10px;\n" "\n" " background-color:rgb(170, 255, 230)\n" " \n" " \n" "}\n" "\n" "QComboBox QAbstractItemView{border-radius: 5px;\n" " border: 2px ;\n" " padding: 5px;\n" " padding-left: 10px;\n" " }") self.trans_type.setSizeAdjustPolicy(QComboBox.AdjustToContents) self.trans_type.setFrame(True) self.gridLayout.addWidget(self.trans_type, 1, 7, 1, 1) self.cheque_label = QLabel(self.data_entry_tab) self.cheque_label.setObjectName(u"cheque_label") self.cheque_label.setFont(font11) self.gridLayout.addWidget(self.cheque_label, 6, 1, 1, 1) self.cheque_number = QLineEdit(self.data_entry_tab) self.cheque_number.setObjectName(u"cheque_number") sizePolicy6.setHeightForWidth( self.cheque_number.sizePolicy().hasHeightForWidth()) self.cheque_number.setSizePolicy(sizePolicy6) self.cheque_number.setMaximumSize(QSize(200, 16777215)) self.cheque_number.setFont(font11) self.cheque_number.setStyleSheet( u"QLineEdit {\n" " border-radius: 5px;\n" " border: 2px solid rgb(27, 29, 35);\n" " padding-left: 10px;\n" "}\n" "QLineEdit:hover {\n" " border: 2px solid rgb(64, 71, 88);\n" "}\n" "QLineEdit:focus {\n" " border: 2px solid rgb(91, 101, 124);\n" "}") self.gridLayout.addWidget(self.cheque_number, 6, 7, 1, 1) self.tabWidget.addTab(self.data_entry_tab, "") self.report_gen_tab = QWidget() self.report_gen_tab.setObjectName(u"report_gen_tab") self.gridLayout_2 = QGridLayout(self.report_gen_tab) self.gridLayout_2.setObjectName(u"gridLayout_2") self.gridLayout_2.setHorizontalSpacing(10) self.gridLayout_2.setVerticalSpacing(20) self.gridLayout_2.setContentsMargins(80, 20, 20, 10) self.label_6 = QLabel(self.report_gen_tab) self.label_6.setObjectName(u"label_6") sizePolicy2.setHeightForWidth( self.label_6.sizePolicy().hasHeightForWidth()) self.label_6.setSizePolicy(sizePolicy2) self.label_6.setFont(font9) self.gridLayout_2.addWidget(self.label_6, 3, 0, 1, 1) self.report_date_from = QDateEdit(self.report_gen_tab) self.report_date_from.setObjectName(u"report_date_from") sizePolicy3.setHeightForWidth( self.report_date_from.sizePolicy().hasHeightForWidth()) self.report_date_from.setSizePolicy(sizePolicy3) font12 = QFont() font12.setFamily(u"Microsoft YaHei UI") font12.setPointSize(11) font12.setBold(False) font12.setItalic(False) font12.setUnderline(False) font12.setWeight(50) self.report_date_from.setFont(font12) self.report_date_from.setStyleSheet( u"QDateEdit{\n" " border-radius: 5px;\n" " border: 2px solid rgb(27, 29, 35);\n" " padding: 5px;\n" " padding-left: 10px;\n" "\n" " background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0199005 rgba(50, 186, 144, 52), stop:0.482587 rgba(65, 156, 128, 54), stop:0.975124 rgba(75, 164, 181, 80));\n" " \n" " \n" "}\n" "QDateEdit:hover{\n" " border: 2px solid rgb(64, 71, 88);\n" " \n" " \n" " \n" " \n" "}\n" "\n" "QCalendarWidget QToolButton{\n" "\n" " color: black;\n" " background-color:rgb(156, 255, 231);}\n" "\n" " \n" "\n" "QCalendarWidget QAbstractItemView:enabled \n" " {\n" " \n" " color: black; \n" " background-color: rgb(198, 255, 232); \n" " selection-background-color: rgb(64, 64, 64); \n" " selection-color: rgb(0, 255, 0); \n" " }") self.report_date_from.setDateTime( QDateTime(QDate(2020, 1, 1), QTime(0, 0, 0))) self.report_date_from.setMinimumDateTime( QDateTime(QDate(2010, 9, 14), QTime(0, 0, 0))) self.report_date_from.setMaximumDate(QDate(9999, 11, 30)) self.report_date_from.setCalendarPopup(True) self.report_date_from.setDate(QDate(2020, 1, 1)) self.gridLayout_2.addWidget(self.report_date_from, 3, 4, 1, 1) self.label_7 = QLabel(self.report_gen_tab) self.label_7.setObjectName(u"label_7") sizePolicy2.setHeightForWidth( self.label_7.sizePolicy().hasHeightForWidth()) self.label_7.setSizePolicy(sizePolicy2) self.label_7.setFont(font9) self.gridLayout_2.addWidget(self.label_7, 4, 0, 1, 1) self.report_date_to = QDateEdit(self.report_gen_tab) self.report_date_to.setObjectName(u"report_date_to") sizePolicy3.setHeightForWidth( self.report_date_to.sizePolicy().hasHeightForWidth()) self.report_date_to.setSizePolicy(sizePolicy3) self.report_date_to.setFont(font12) self.report_date_to.setStyleSheet( u"QDateEdit{\n" " border-radius: 5px;\n" " border: 2px solid rgb(27, 29, 35);\n" " padding: 5px;\n" " padding-left: 10px;\n" "\n" " background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0199005 rgba(50, 186, 144, 52), stop:0.482587 rgba(65, 156, 128, 54), stop:0.975124 rgba(75, 164, 181, 80));\n" " \n" " \n" "}\n" "QDateEdit:hover{\n" " border: 2px solid rgb(64, 71, 88);\n" " \n" " \n" " \n" " \n" "}\n" "\n" "QCalendarWidget QToolButton{\n" "\n" " color: black;\n" " background-color:rgb(156, 255, 231);}\n" "\n" " \n" "\n" "QCalendarWidget QAbstractItemView:enabled \n" " {\n" " \n" " color: black; \n" " background-color: rgb(198, 255, 232); \n" " selection-background-color: rgb(64, 64, 64); \n" " selection-color: rgb(0, 255, 0); \n" " }") self.report_date_to.setWrapping(False) self.report_date_to.setReadOnly(False) self.report_date_to.setProperty("showGroupSeparator", False) self.report_date_to.setDateTime( QDateTime(QDate(2020, 1, 1), QTime(0, 0, 0))) self.report_date_to.setMinimumDateTime( QDateTime(QDate(2010, 9, 14), QTime(0, 0, 0))) self.report_date_to.setCurrentSection(QDateTimeEdit.DaySection) self.report_date_to.setCalendarPopup(True) self.report_date_to.setTimeSpec(Qt.TimeZone) self.gridLayout_2.addWidget(self.report_date_to, 4, 4, 1, 1) self.label_12 = QLabel(self.report_gen_tab) self.label_12.setObjectName(u"label_12") sizePolicy2.setHeightForWidth( self.label_12.sizePolicy().hasHeightForWidth()) self.label_12.setSizePolicy(sizePolicy2) font13 = QFont() font13.setFamily(u"Microsoft YaHei UI") font13.setPointSize(11) font13.setBold(False) font13.setWeight(50) self.label_12.setFont(font13) self.gridLayout_2.addWidget(self.label_12, 6, 0, 1, 1) self.comboBox = QComboBox(self.report_gen_tab) self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.setObjectName(u"comboBox") sizePolicy3.setHeightForWidth( self.comboBox.sizePolicy().hasHeightForWidth()) self.comboBox.setSizePolicy(sizePolicy3) self.comboBox.setMinimumSize(QSize(70, 0)) self.comboBox.setFont(font13) self.comboBox.setStyleSheet(u"QComboBox{\n" " border-radius: 5px;\n" " border: 2px solid rgb(27, 29, 35);\n" " padding: 5px;\n" " padding-left: 10px;\n" "}\n" "QComboBox:hover{\n" " border: 2px solid rgb(64, 71, 88);\n" "}\n" "QComboBox QAbstractItemView {\n" " padding: 10px;\n" "}") self.gridLayout_2.addWidget(self.comboBox, 6, 4, 1, 1) self.preview_report_button = QPushButton(self.report_gen_tab) self.preview_report_button.setObjectName(u"preview_report_button") sizePolicy3.setHeightForWidth( self.preview_report_button.sizePolicy().hasHeightForWidth()) self.preview_report_button.setSizePolicy(sizePolicy3) self.preview_report_button.setMinimumSize(QSize(157, 0)) self.preview_report_button.setFont(font8) self.preview_report_button.setStyleSheet( u"QPushButton{\n" "background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0547264 rgba(10, 103, 95, 209), stop:1 rgba(13, 136, 125, 209));\n" "width:130%;\n" "height:40%;\n" "color:white;\n" "border-radius:8px;\n" "}\n" "\n" "QPushButton:hover:!pressed\n" "{\n" " border: 2px solid rgb(41, 135, 140);\n" "background-color:rgb(199, 248, 255);\n" "color:black;\n" "}") self.gridLayout_2.addWidget(self.preview_report_button, 7, 2, 1, 1) self.export_pdf_button = QPushButton(self.report_gen_tab) self.export_pdf_button.setObjectName(u"export_pdf_button") sizePolicy3.setHeightForWidth( self.export_pdf_button.sizePolicy().hasHeightForWidth()) self.export_pdf_button.setSizePolicy(sizePolicy3) self.export_pdf_button.setMinimumSize(QSize(208, 0)) self.export_pdf_button.setFont(font8) self.export_pdf_button.setLayoutDirection(Qt.LeftToRight) self.export_pdf_button.setStyleSheet( u"QPushButton{\n" "background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0547264 rgba(10, 103, 95, 209), stop:1 rgba(13, 136, 125, 209));\n" "width:170%;\n" "height:40%;\n" "color:white;\n" "border-radius:8px;\n" "}\n" "\n" "QPushButton:hover:!pressed\n" "{\n" " border: 2px solid rgb(41, 135, 140);\n" "background-color:rgb(199, 248, 255);\n" "color:black;\n" "}") self.export_pdf_button.setFlat(False) self.gridLayout_2.addWidget(self.export_pdf_button, 7, 3, 1, 1) self.label_8 = QLabel(self.report_gen_tab) self.label_8.setObjectName(u"label_8") sizePolicy7.setHeightForWidth( self.label_8.sizePolicy().hasHeightForWidth()) self.label_8.setSizePolicy(sizePolicy7) font14 = QFont() font14.setFamily(u"Microsoft YaHei UI") font14.setPointSize(15) font14.setBold(False) font14.setItalic(False) font14.setWeight(50) self.label_8.setFont(font14) self.label_8.setStyleSheet(u"background-color:rgba(0,0,0,0%);\n" "color:rgb(35, 93, 74)") self.label_8.setAlignment(Qt.AlignCenter) self.label_8.setMargin(10) self.gridLayout_2.addWidget(self.label_8, 0, 1, 1, 3) self.print_report_button = QPushButton(self.report_gen_tab) self.print_report_button.setObjectName(u"print_report_button") sizePolicy3.setHeightForWidth( self.print_report_button.sizePolicy().hasHeightForWidth()) self.print_report_button.setSizePolicy(sizePolicy3) self.print_report_button.setMinimumSize(QSize(140, 0)) self.print_report_button.setFont(font8) self.print_report_button.setStyleSheet( u"QPushButton{\n" "background-color:qlineargradient(spread:pad, x1:0.532552, y1:0, x2:0.522, y2:0.926136, stop:0.0547264 rgba(10, 103, 95, 209), stop:1 rgba(13, 136, 125, 209));\n" "width:100%;\n" "height:40%;\n" "color:white;\n" "border-radius:8px;\n" "}\n" "\n" "QPushButton:hover:!pressed\n" "{\n" " border: 2px solid rgb(41, 135, 140);\n" "background-color:rgb(199, 248, 255);\n" "color:black;\n" "}") self.gridLayout_2.addWidget(self.print_report_button, 7, 1, 1, 1) self.tabWidget.addTab(self.report_gen_tab, "") self.verticalLayout.addWidget(self.tabWidget) self.verticalLayout_2.addLayout(self.verticalLayout) DsManager.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(DsManager) self.menubar.setObjectName(u"menubar") self.menubar.setGeometry(QRect(0, 0, 1156, 24)) font15 = QFont() font15.setFamily(u"Candara") font15.setBold(True) font15.setWeight(75) self.menubar.setFont(font15) self.menubar.setStyleSheet(u"QMenuBar{\n" "background-color:rgb(122, 224, 210);\n" "}\n" "\n" "QMenu:!pressed\n" "{\n" " selection-color: rgb(85, 0, 127);\n" " background-color:rgb(139, 234, 255);\n" "}") self.menuAbout = QMenu(self.menubar) self.menuAbout.setObjectName(u"menuAbout") self.menuFile = QMenu(self.menubar) self.menuFile.setObjectName(u"menuFile") DsManager.setMenuBar(self.menubar) self.statusbar = QStatusBar(DsManager) self.statusbar.setObjectName(u"statusbar") DsManager.setStatusBar(self.statusbar) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuAbout.menuAction()) self.menuAbout.addAction(self.actionAbut_DS_Manager) self.menuFile.addAction(self.actionBackup_Database) self.menuFile.addAction(self.actionRestore_Database) self.retranslateUi(DsManager) self.tabWidget.setCurrentIndex(0) QMetaObject.connectSlotsByName(DsManager)
def main(gamePath: Optional[str] = None, configPath: Optional[str] = None, startupMode: StartupMode = StartupMode.Main) -> NoReturn: from w3modmanager.util.util import getRuntimePath from w3modmanager.core.model import Model from w3modmanager.core.errors import OtherInstanceError, InvalidGamePath, InvalidConfigPath from w3modmanager.ui.graphical.mainwindow import MainWindow from w3modmanager.domain.system.permissions import \ getWritePermissions, setWritePermissions from PySide2.QtCore import Qt, QSettings from PySide2.QtWidgets import QApplication, QMessageBox from PySide2.QtGui import QIcon, QPalette, QFont from asyncqt import QEventLoop # noqa QApplication.setOrganizationName(w3modmanager.ORG_NAME) QApplication.setOrganizationDomain(w3modmanager.ORG_URL) QApplication.setApplicationName(w3modmanager.TITLE) QApplication.setApplicationVersion(w3modmanager.VERSION) QApplication.setApplicationDisplayName('') QApplication.setAttribute(Qt.AA_NativeWindows) QApplication.setAttribute(Qt.AA_DisableWindowContextHelpButton) QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps) QApplication.setHighDpiScaleFactorRoundingPolicy( Qt.HighDpiScaleFactorRoundingPolicy.RoundPreferFloor) app = QApplication(sys.argv) app.setStyleSheet(''' Link { text-decoration: none; } ''') eventloop = QEventLoop(app) asyncio.set_event_loop(eventloop) palette = QPalette(QApplication.palette()) palette.setColor(QPalette.Link, Qt.red) palette.setColor(QPalette.LinkVisited, Qt.red) app.setPalette(palette) font = QFont('Segoe UI') font.setStyleHint(QFont.System) font.setWeight(QFont.Normal) font.setStyleStrategy(QFont.PreferDevice) font.setPointSize(9) app.setFont(font) icon = QIcon() icon.addFile(str(getRuntimePath('resources/icons/w3b.ico'))) app.setWindowIcon(icon) # configure startup overrides settings = QSettings() if gamePath: settings.setValue('gamePath', gamePath) if configPath: settings.setValue('configPath', configPath) if startupMode == StartupMode.About: MainWindow.showAboutDialog(None).exec_() sys.exit() if startupMode == StartupMode.Settings: MainWindow.showSettingsDialog(None).exec_() sys.exit() def createModel(ignorelock: bool = False) -> Model: nonlocal settings return Model( Path(str(settings.value('gamePath'))), Path(str(settings.value('configPath'))), Path( appdirs.user_data_dir(w3modmanager.NAME, w3modmanager.ORG_NAME)), ignorelock) try: # try to initialize the mod management model try: model = createModel() # if another instance is already open, inform and ask to open anyway except OtherInstanceError as e: if MainWindow.showOtherInstanceDialog( None).exec_() == QMessageBox.Yes: model = createModel(True) else: raise e # if game path or config path is invalid or not set, # show a special settings dialog and retry except (InvalidGamePath, InvalidConfigPath): MainWindow.showSettingsDialog(None, True).exec_() model = createModel() # check for write access to the game and config directories for path in ( model.gamepath, model.configpath, model.cachepath, ): if not getWritePermissions(path): if MainWindow.showInvalidPermissionsDialog(None, path).exec_() != QMessageBox.Yes \ or not setWritePermissions(path): raise PermissionError(f'Not enough permissions for {path}') window = MainWindow(model) app.setActiveWindow(window) def show_exception_hook(exctype, value, tb) -> None: # noqa nonlocal window MainWindow.showCritcalErrorDialog( window, value, ''.join(traceback.format_exception(exctype, value, tb))).exec_() exception_hook(exctype, value, tb) sys.excepthook = show_exception_hook with eventloop: sys.exit(eventloop.run_forever()) except OtherInstanceError as e: sys.exit(f'error: {str(e)}') except (InvalidGamePath, InvalidConfigPath) as e: MainWindow.showInvalidConfigErrorDialog(None).exec_() sys.exit(f'error: {str(e)}') except PermissionError as e: MainWindow.showInvalidPermissionsErrorDialog(None).exec_() sys.exit(f'error: {str(e)}') except Exception as e: MainWindow.showCritcalErrorDialog(None, str(e)).exec_() raise e sys.exit()
def setupUi(self, EventListWindow): if not EventListWindow.objectName(): EventListWindow.setObjectName(u"EventListWindow") EventListWindow.resize(900, 520) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(EventListWindow.sizePolicy().hasHeightForWidth()) EventListWindow.setSizePolicy(sizePolicy) EventListWindow.setMinimumSize(QSize(900, 520)) EventListWindow.setMaximumSize(QSize(900, 520)) self.centralwidget = QWidget(EventListWindow) self.centralwidget.setObjectName(u"centralwidget") self.verticalLayoutWidget = QWidget(self.centralwidget) self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget") self.verticalLayoutWidget.setGeometry(QRect(10, 20, 252, 481)) self.LayoutEventList = QVBoxLayout(self.verticalLayoutWidget) self.LayoutEventList.setObjectName(u"LayoutEventList") self.LayoutEventList.setContentsMargins(0, 0, 0, 0) self.LabelEventList = QLabel(self.verticalLayoutWidget) self.LabelEventList.setObjectName(u"LabelEventList") font = QFont() font.setPointSize(18) self.LabelEventList.setFont(font) self.LabelEventList.setFrameShape(QFrame.Box) self.LabelEventList.setAlignment(Qt.AlignCenter) self.LayoutEventList.addWidget(self.LabelEventList) self.ExtraButtons = QStackedWidget(self.verticalLayoutWidget) self.ExtraButtons.setObjectName(u"ExtraButtons") sizePolicy.setHeightForWidth(self.ExtraButtons.sizePolicy().hasHeightForWidth()) self.ExtraButtons.setSizePolicy(sizePolicy) self.ExtraButtons.setMinimumSize(QSize(250, 34)) self.AdminView_2 = QWidget() self.AdminView_2.setObjectName(u"AdminView_2") self.horizontalLayoutWidget = QWidget(self.AdminView_2) self.horizontalLayoutWidget.setObjectName(u"horizontalLayoutWidget") self.horizontalLayoutWidget.setGeometry(QRect(0, 0, 251, 41)) self.horizontalLayout = QHBoxLayout(self.horizontalLayoutWidget) self.horizontalLayout.setObjectName(u"horizontalLayout") self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.ButtonCreateOrganizer = QPushButton(self.horizontalLayoutWidget) self.ButtonCreateOrganizer.setObjectName(u"ButtonCreateOrganizer") self.horizontalLayout.addWidget(self.ButtonCreateOrganizer) self.ButtonCreateEvent = QPushButton(self.horizontalLayoutWidget) self.ButtonCreateEvent.setObjectName(u"ButtonCreateEvent") self.horizontalLayout.addWidget(self.ButtonCreateEvent) self.ExtraButtons.addWidget(self.AdminView_2) self.OrganizerView_2 = QWidget() self.OrganizerView_2.setObjectName(u"OrganizerView_2") self.ExtraButtons.addWidget(self.OrganizerView_2) self.LayoutEventList.addWidget(self.ExtraButtons) self.horizontalLayout_2 = QHBoxLayout() self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.ButtonFilter = QPushButton(self.verticalLayoutWidget) self.ButtonFilter.setObjectName(u"ButtonFilter") self.horizontalLayout_2.addWidget(self.ButtonFilter) self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_2.addItem(self.horizontalSpacer) self.ButtonSort = QPushButton(self.verticalLayoutWidget) self.ButtonSort.setObjectName(u"ButtonSort") self.horizontalLayout_2.addWidget(self.ButtonSort) self.LayoutEventList.addLayout(self.horizontalLayout_2) self.ListEvents = QListWidget(self.verticalLayoutWidget) self.ListEvents.setObjectName(u"ListEvents") self.LayoutEventList.addWidget(self.ListEvents) self.EventEditFrame = QFrame(self.centralwidget) self.EventEditFrame.setObjectName(u"EventEditFrame") self.EventEditFrame.setGeometry(QRect(260, 20, 631, 481)) self.EventEditFrame.setAutoFillBackground(False) self.EventEditFrame.setFrameShape(QFrame.StyledPanel) self.EventEditFrame.setFrameShadow(QFrame.Raised) self.verticalLayoutWidget_7 = QWidget(self.EventEditFrame) self.verticalLayoutWidget_7.setObjectName(u"verticalLayoutWidget_7") self.verticalLayoutWidget_7.setGeometry(QRect(0, 0, 631, 481)) self.LayoutEventDetails = QVBoxLayout(self.verticalLayoutWidget_7) self.LayoutEventDetails.setSpacing(0) self.LayoutEventDetails.setObjectName(u"LayoutEventDetails") self.LayoutEventDetails.setSizeConstraint(QLayout.SetDefaultConstraint) self.LayoutEventDetails.setContentsMargins(0, 0, 0, 0) self.LabelDetails = QLabel(self.verticalLayoutWidget_7) self.LabelDetails.setObjectName(u"LabelDetails") self.LabelDetails.setFont(font) self.LabelDetails.setAlignment(Qt.AlignCenter) self.LayoutEventDetails.addWidget(self.LabelDetails) self.stackedWidget_2 = QStackedWidget(self.verticalLayoutWidget_7) self.stackedWidget_2.setObjectName(u"stackedWidget_2") sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) sizePolicy1.setHorizontalStretch(0) sizePolicy1.setVerticalStretch(0) sizePolicy1.setHeightForWidth(self.stackedWidget_2.sizePolicy().hasHeightForWidth()) self.stackedWidget_2.setSizePolicy(sizePolicy1) self.OrganizerView = QWidget() self.OrganizerView.setObjectName(u"OrganizerView") sizePolicy1.setHeightForWidth(self.OrganizerView.sizePolicy().hasHeightForWidth()) self.OrganizerView.setSizePolicy(sizePolicy1) self.OrganizerView.setAutoFillBackground(False) self.gridLayoutWidget_2 = QWidget(self.OrganizerView) self.gridLayoutWidget_2.setObjectName(u"gridLayoutWidget_2") self.gridLayoutWidget_2.setGeometry(QRect(10, 0, 621, 453)) self.gridLayout_3 = QGridLayout(self.gridLayoutWidget_2) self.gridLayout_3.setObjectName(u"gridLayout_3") self.gridLayout_3.setSizeConstraint(QLayout.SetDefaultConstraint) self.gridLayout_3.setContentsMargins(0, 0, 0, 0) self.horizontalSpacer_27 = QSpacerItem(150, 20, QSizePolicy.MinimumExpanding, QSizePolicy.Minimum) self.gridLayout_3.addItem(self.horizontalSpacer_27, 1, 1, 1, 1) self.LayoutTimeConstraints = QVBoxLayout() self.LayoutTimeConstraints.setSpacing(0) self.LayoutTimeConstraints.setObjectName(u"LayoutTimeConstraints") self.LayoutTimeConstraints.setSizeConstraint(QLayout.SetDefaultConstraint) self.horizontalLayout_15 = QHBoxLayout() self.horizontalLayout_15.setObjectName(u"horizontalLayout_15") self.horizontalSpacer_29 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_15.addItem(self.horizontalSpacer_29) self.LabelTimeConstraints = QLabel(self.gridLayoutWidget_2) self.LabelTimeConstraints.setObjectName(u"LabelTimeConstraints") sizePolicy2 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) sizePolicy2.setHorizontalStretch(0) sizePolicy2.setVerticalStretch(1) sizePolicy2.setHeightForWidth(self.LabelTimeConstraints.sizePolicy().hasHeightForWidth()) self.LabelTimeConstraints.setSizePolicy(sizePolicy2) self.LabelTimeConstraints.setMinimumSize(QSize(0, 34)) font1 = QFont() font1.setPointSize(13) font1.setBold(True) font1.setWeight(75) self.LabelTimeConstraints.setFont(font1) self.LabelTimeConstraints.setFrameShape(QFrame.Panel) self.LabelTimeConstraints.setFrameShadow(QFrame.Raised) self.LabelTimeConstraints.setLineWidth(1) self.LabelTimeConstraints.setMidLineWidth(1) self.LabelTimeConstraints.setAlignment(Qt.AlignCenter) self.LabelTimeConstraints.setMargin(6) self.horizontalLayout_15.addWidget(self.LabelTimeConstraints) self.horizontalSpacer_30 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_15.addItem(self.horizontalSpacer_30) self.LayoutTimeConstraints.addLayout(self.horizontalLayout_15) self.ListTimeConstraints = QListWidget(self.gridLayoutWidget_2) self.ListTimeConstraints.setObjectName(u"ListTimeConstraints") self.LayoutTimeConstraints.addWidget(self.ListTimeConstraints) self.gridLayout_3.addLayout(self.LayoutTimeConstraints, 0, 0, 1, 3) self.LayoutTagConstraints = QVBoxLayout() self.LayoutTagConstraints.setSpacing(0) self.LayoutTagConstraints.setObjectName(u"LayoutTagConstraints") self.LayoutTagConstraints.setSizeConstraint(QLayout.SetDefaultConstraint) self.horizontalLayout_13 = QHBoxLayout() self.horizontalLayout_13.setObjectName(u"horizontalLayout_13") self.horizontalSpacer_25 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_13.addItem(self.horizontalSpacer_25) self.LabelTagConstraints = QLabel(self.gridLayoutWidget_2) self.LabelTagConstraints.setObjectName(u"LabelTagConstraints") sizePolicy2.setHeightForWidth(self.LabelTagConstraints.sizePolicy().hasHeightForWidth()) self.LabelTagConstraints.setSizePolicy(sizePolicy2) self.LabelTagConstraints.setMinimumSize(QSize(0, 34)) font2 = QFont() font2.setPointSize(13) font2.setBold(True) font2.setWeight(75) font2.setStrikeOut(False) font2.setKerning(True) font2.setStyleStrategy(QFont.PreferDefault) self.LabelTagConstraints.setFont(font2) self.LabelTagConstraints.setFrameShape(QFrame.Panel) self.LabelTagConstraints.setFrameShadow(QFrame.Raised) self.LabelTagConstraints.setLineWidth(1) self.LabelTagConstraints.setMidLineWidth(1) self.LabelTagConstraints.setAlignment(Qt.AlignCenter) self.LabelTagConstraints.setMargin(6) self.horizontalLayout_13.addWidget(self.LabelTagConstraints) self.horizontalSpacer_26 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_13.addItem(self.horizontalSpacer_26) self.LayoutTagConstraints.addLayout(self.horizontalLayout_13) self.ListTagConstraints = QListWidget(self.gridLayoutWidget_2) self.ListTagConstraints.setObjectName(u"ListTagConstraints") self.LayoutTagConstraints.addWidget(self.ListTagConstraints) self.gridLayout_3.addLayout(self.LayoutTagConstraints, 2, 0, 1, 2) self.LabelRoomGroup = QLabel(self.gridLayoutWidget_2) self.LabelRoomGroup.setObjectName(u"LabelRoomGroup") self.gridLayout_3.addWidget(self.LabelRoomGroup, 6, 1, 1, 1) self.LayoutSpaceConstraint = QVBoxLayout() self.LayoutSpaceConstraint.setSpacing(0) self.LayoutSpaceConstraint.setObjectName(u"LayoutSpaceConstraint") self.LayoutSpaceConstraint.setSizeConstraint(QLayout.SetDefaultConstraint) self.horizontalLayout_11 = QHBoxLayout() self.horizontalLayout_11.setObjectName(u"horizontalLayout_11") self.horizontalSpacer_21 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_11.addItem(self.horizontalSpacer_21) self.LabelSpaceTitle = QLabel(self.gridLayoutWidget_2) self.LabelSpaceTitle.setObjectName(u"LabelSpaceTitle") sizePolicy2.setHeightForWidth(self.LabelSpaceTitle.sizePolicy().hasHeightForWidth()) self.LabelSpaceTitle.setSizePolicy(sizePolicy2) self.LabelSpaceTitle.setMinimumSize(QSize(0, 34)) self.LabelSpaceTitle.setMaximumSize(QSize(16777215, 30)) self.LabelSpaceTitle.setFont(font2) self.LabelSpaceTitle.setFrameShape(QFrame.Panel) self.LabelSpaceTitle.setFrameShadow(QFrame.Raised) self.LabelSpaceTitle.setLineWidth(1) self.LabelSpaceTitle.setMidLineWidth(1) self.LabelSpaceTitle.setAlignment(Qt.AlignCenter) self.LabelSpaceTitle.setMargin(6) self.horizontalLayout_11.addWidget(self.LabelSpaceTitle) self.horizontalSpacer_22 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_11.addItem(self.horizontalSpacer_22) self.LayoutSpaceConstraint.addLayout(self.horizontalLayout_11) self.horizontalLayout_12 = QHBoxLayout() self.horizontalLayout_12.setObjectName(u"horizontalLayout_12") self.horizontalSpacer_23 = QSpacerItem(60, 20, QSizePolicy.Minimum, QSizePolicy.Minimum) self.horizontalLayout_12.addItem(self.horizontalSpacer_23) self.FieldSpaceConstraint = QLineEdit(self.gridLayoutWidget_2) self.FieldSpaceConstraint.setObjectName(u"FieldSpaceConstraint") self.horizontalLayout_12.addWidget(self.FieldSpaceConstraint) self.horizontalSpacer_24 = QSpacerItem(60, 20, QSizePolicy.Minimum, QSizePolicy.Minimum) self.horizontalLayout_12.addItem(self.horizontalSpacer_24) self.LayoutSpaceConstraint.addLayout(self.horizontalLayout_12) self.horizontalLayout_16 = QHBoxLayout() self.horizontalLayout_16.setObjectName(u"horizontalLayout_16") self.ButtonUpdateSpaceConstraint = QPushButton(self.gridLayoutWidget_2) self.ButtonUpdateSpaceConstraint.setObjectName(u"ButtonUpdateSpaceConstraint") sizePolicy.setHeightForWidth(self.ButtonUpdateSpaceConstraint.sizePolicy().hasHeightForWidth()) self.ButtonUpdateSpaceConstraint.setSizePolicy(sizePolicy) self.horizontalLayout_16.addWidget(self.ButtonUpdateSpaceConstraint) self.LayoutSpaceConstraint.addLayout(self.horizontalLayout_16) self.gridLayout_3.addLayout(self.LayoutSpaceConstraint, 2, 2, 1, 1) self.horizontalLayout_9 = QHBoxLayout() self.horizontalLayout_9.setObjectName(u"horizontalLayout_9") self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_9.addItem(self.horizontalSpacer_4) self.ButtonAddTimeConstraint = QPushButton(self.gridLayoutWidget_2) self.ButtonAddTimeConstraint.setObjectName(u"ButtonAddTimeConstraint") self.horizontalLayout_9.addWidget(self.ButtonAddTimeConstraint) self.gridLayout_3.addLayout(self.horizontalLayout_9, 1, 2, 1, 1) self.LabelDateTitle = QLabel(self.gridLayoutWidget_2) self.LabelDateTitle.setObjectName(u"LabelDateTitle") self.gridLayout_3.addWidget(self.LabelDateTitle, 5, 0, 1, 1) self.LabelScheduledDatetime = QLabel(self.gridLayoutWidget_2) self.LabelScheduledDatetime.setObjectName(u"LabelScheduledDatetime") self.gridLayout_3.addWidget(self.LabelScheduledDatetime, 6, 0, 1, 1) self.LabelScheduledRoom = QLabel(self.gridLayoutWidget_2) self.LabelScheduledRoom.setObjectName(u"LabelScheduledRoom") self.gridLayout_3.addWidget(self.LabelScheduledRoom, 6, 2, 1, 1) self.LabelRoomTitle = QLabel(self.gridLayoutWidget_2) self.LabelRoomTitle.setObjectName(u"LabelRoomTitle") self.gridLayout_3.addWidget(self.LabelRoomTitle, 5, 2, 1, 1) self.horizontalLayout_10 = QHBoxLayout() self.horizontalLayout_10.setObjectName(u"horizontalLayout_10") self.horizontalSpacer_13 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_10.addItem(self.horizontalSpacer_13) self.ButtonAddTagConstraint = QPushButton(self.gridLayoutWidget_2) self.ButtonAddTagConstraint.setObjectName(u"ButtonAddTagConstraint") self.horizontalLayout_10.addWidget(self.ButtonAddTagConstraint) self.gridLayout_3.addLayout(self.horizontalLayout_10, 3, 1, 1, 1) self.LabelRoomGroupTitle = QLabel(self.gridLayoutWidget_2) self.LabelRoomGroupTitle.setObjectName(u"LabelRoomGroupTitle") self.gridLayout_3.addWidget(self.LabelRoomGroupTitle, 5, 1, 1, 1) self.DividingLine = QFrame(self.gridLayoutWidget_2) self.DividingLine.setObjectName(u"DividingLine") self.DividingLine.setFrameShape(QFrame.HLine) self.DividingLine.setFrameShadow(QFrame.Sunken) self.gridLayout_3.addWidget(self.DividingLine, 4, 0, 1, 3) self.stackedWidget_2.addWidget(self.OrganizerView) self.AdminView = QWidget() self.AdminView.setObjectName(u"AdminView") sizePolicy1.setHeightForWidth(self.AdminView.sizePolicy().hasHeightForWidth()) self.AdminView.setSizePolicy(sizePolicy1) self.gridLayoutWidget = QWidget(self.AdminView) self.gridLayoutWidget.setObjectName(u"gridLayoutWidget") self.gridLayoutWidget.setGeometry(QRect(10, 0, 621, 451)) self.gridLayout = QGridLayout(self.gridLayoutWidget) self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setSizeConstraint(QLayout.SetDefaultConstraint) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.LayoutTags = QVBoxLayout() self.LayoutTags.setSpacing(0) self.LayoutTags.setObjectName(u"LayoutTags") self.verticalSpacer_2 = QSpacerItem(20, 30, QSizePolicy.Minimum, QSizePolicy.Minimum) self.LayoutTags.addItem(self.verticalSpacer_2) self.horizontalLayout_6 = QHBoxLayout() self.horizontalLayout_6.setObjectName(u"horizontalLayout_6") self.LabelTags = QLabel(self.gridLayoutWidget) self.LabelTags.setObjectName(u"LabelTags") sizePolicy3 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) sizePolicy3.setHorizontalStretch(0) sizePolicy3.setVerticalStretch(0) sizePolicy3.setHeightForWidth(self.LabelTags.sizePolicy().hasHeightForWidth()) self.LabelTags.setSizePolicy(sizePolicy3) self.LabelTags.setMinimumSize(QSize(0, 30)) self.LabelTags.setFont(font2) self.LabelTags.setFrameShape(QFrame.Panel) self.LabelTags.setFrameShadow(QFrame.Raised) self.LabelTags.setLineWidth(1) self.LabelTags.setMidLineWidth(0) self.LabelTags.setAlignment(Qt.AlignCenter) self.LabelTags.setMargin(6) self.horizontalLayout_6.addWidget(self.LabelTags) self.horizontalSpacer_11 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_6.addItem(self.horizontalSpacer_11) self.ButtonAddTag = QPushButton(self.gridLayoutWidget) self.ButtonAddTag.setObjectName(u"ButtonAddTag") self.horizontalLayout_6.addWidget(self.ButtonAddTag) self.LayoutTags.addLayout(self.horizontalLayout_6) self.listWidget_3 = QListWidget(self.gridLayoutWidget) QListWidgetItem(self.listWidget_3) QListWidgetItem(self.listWidget_3) QListWidgetItem(self.listWidget_3) QListWidgetItem(self.listWidget_3) QListWidgetItem(self.listWidget_3) QListWidgetItem(self.listWidget_3) QListWidgetItem(self.listWidget_3) QListWidgetItem(self.listWidget_3) self.listWidget_3.setObjectName(u"listWidget_3") self.listWidget_3.setEnabled(True) self.listWidget_3.setFlow(QListView.LeftToRight) self.LayoutTags.addWidget(self.listWidget_3) self.gridLayout.addLayout(self.LayoutTags, 5, 0, 1, 1) self.LabelDateTitle_2 = QLabel(self.gridLayoutWidget) self.LabelDateTitle_2.setObjectName(u"LabelDateTitle_2") self.gridLayout.addWidget(self.LabelDateTitle_2, 3, 0, 1, 1) self.DividingLine_2 = QFrame(self.gridLayoutWidget) self.DividingLine_2.setObjectName(u"DividingLine_2") self.DividingLine_2.setFrameShape(QFrame.HLine) self.DividingLine_2.setFrameShadow(QFrame.Sunken) self.gridLayout.addWidget(self.DividingLine_2, 2, 0, 1, 3) self.LayoutSpaceConstraint_2 = QVBoxLayout() self.LayoutSpaceConstraint_2.setSpacing(0) self.LayoutSpaceConstraint_2.setObjectName(u"LayoutSpaceConstraint_2") self.LayoutSpaceConstraint_2.setSizeConstraint(QLayout.SetDefaultConstraint) self.horizontalLayout_4 = QHBoxLayout() self.horizontalLayout_4.setObjectName(u"horizontalLayout_4") self.horizontalSpacer_9 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_4.addItem(self.horizontalSpacer_9) self.LabelSpaceTitle_2 = QLabel(self.gridLayoutWidget) self.LabelSpaceTitle_2.setObjectName(u"LabelSpaceTitle_2") sizePolicy2.setHeightForWidth(self.LabelSpaceTitle_2.sizePolicy().hasHeightForWidth()) self.LabelSpaceTitle_2.setSizePolicy(sizePolicy2) self.LabelSpaceTitle_2.setMinimumSize(QSize(0, 30)) self.LabelSpaceTitle_2.setFont(font2) self.LabelSpaceTitle_2.setFrameShape(QFrame.Panel) self.LabelSpaceTitle_2.setFrameShadow(QFrame.Raised) self.LabelSpaceTitle_2.setLineWidth(1) self.LabelSpaceTitle_2.setMidLineWidth(1) self.LabelSpaceTitle_2.setAlignment(Qt.AlignCenter) self.LabelSpaceTitle_2.setMargin(6) self.horizontalLayout_4.addWidget(self.LabelSpaceTitle_2) self.horizontalSpacer_10 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_4.addItem(self.horizontalSpacer_10) self.LayoutSpaceConstraint_2.addLayout(self.horizontalLayout_4) self.horizontalLayout_5 = QHBoxLayout() self.horizontalLayout_5.setObjectName(u"horizontalLayout_5") self.horizontalSpacer_7 = QSpacerItem(60, 20, QSizePolicy.Minimum, QSizePolicy.Minimum) self.horizontalLayout_5.addItem(self.horizontalSpacer_7) self.LabelSpaceConstraint = QLabel(self.gridLayoutWidget) self.LabelSpaceConstraint.setObjectName(u"LabelSpaceConstraint") self.LabelSpaceConstraint.setAlignment(Qt.AlignCenter) self.horizontalLayout_5.addWidget(self.LabelSpaceConstraint) self.horizontalSpacer_8 = QSpacerItem(60, 20, QSizePolicy.Minimum, QSizePolicy.Minimum) self.horizontalLayout_5.addItem(self.horizontalSpacer_8) self.LayoutSpaceConstraint_2.addLayout(self.horizontalLayout_5) self.gridLayout.addLayout(self.LayoutSpaceConstraint_2, 1, 0, 1, 1) self.LayoutTimeConstraints_2 = QVBoxLayout() self.LayoutTimeConstraints_2.setSpacing(0) self.LayoutTimeConstraints_2.setObjectName(u"LayoutTimeConstraints_2") self.LayoutTimeConstraints_2.setSizeConstraint(QLayout.SetDefaultConstraint) self.horizontalLayout_7 = QHBoxLayout() self.horizontalLayout_7.setObjectName(u"horizontalLayout_7") self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_7.addItem(self.horizontalSpacer_2) self.LabelTimeConstraints_2 = QLabel(self.gridLayoutWidget) self.LabelTimeConstraints_2.setObjectName(u"LabelTimeConstraints_2") sizePolicy2.setHeightForWidth(self.LabelTimeConstraints_2.sizePolicy().hasHeightForWidth()) self.LabelTimeConstraints_2.setSizePolicy(sizePolicy2) self.LabelTimeConstraints_2.setMinimumSize(QSize(0, 30)) self.LabelTimeConstraints_2.setFont(font2) self.LabelTimeConstraints_2.setFrameShape(QFrame.Panel) self.LabelTimeConstraints_2.setFrameShadow(QFrame.Raised) self.LabelTimeConstraints_2.setLineWidth(1) self.LabelTimeConstraints_2.setMidLineWidth(1) self.LabelTimeConstraints_2.setAlignment(Qt.AlignCenter) self.LabelTimeConstraints_2.setMargin(6) self.horizontalLayout_7.addWidget(self.LabelTimeConstraints_2) self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_7.addItem(self.horizontalSpacer_3) self.LayoutTimeConstraints_2.addLayout(self.horizontalLayout_7) self.listWidget = QListWidget(self.gridLayoutWidget) self.listWidget.setObjectName(u"listWidget") self.LayoutTimeConstraints_2.addWidget(self.listWidget) self.gridLayout.addLayout(self.LayoutTimeConstraints_2, 0, 0, 1, 1) self.LayoutTagConstraints_2 = QVBoxLayout() self.LayoutTagConstraints_2.setSpacing(0) self.LayoutTagConstraints_2.setObjectName(u"LayoutTagConstraints_2") self.LayoutTagConstraints_2.setSizeConstraint(QLayout.SetDefaultConstraint) self.horizontalLayout_3 = QHBoxLayout() self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_3.addItem(self.horizontalSpacer_5) self.LabelTagConstraints_2 = QLabel(self.gridLayoutWidget) self.LabelTagConstraints_2.setObjectName(u"LabelTagConstraints_2") sizePolicy2.setHeightForWidth(self.LabelTagConstraints_2.sizePolicy().hasHeightForWidth()) self.LabelTagConstraints_2.setSizePolicy(sizePolicy2) self.LabelTagConstraints_2.setMinimumSize(QSize(0, 30)) self.LabelTagConstraints_2.setFont(font2) self.LabelTagConstraints_2.setFrameShape(QFrame.Panel) self.LabelTagConstraints_2.setFrameShadow(QFrame.Raised) self.LabelTagConstraints_2.setLineWidth(1) self.LabelTagConstraints_2.setMidLineWidth(1) self.LabelTagConstraints_2.setAlignment(Qt.AlignCenter) self.LabelTagConstraints_2.setMargin(6) self.horizontalLayout_3.addWidget(self.LabelTagConstraints_2) self.horizontalSpacer_6 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_3.addItem(self.horizontalSpacer_6) self.LayoutTagConstraints_2.addLayout(self.horizontalLayout_3) self.ListTagConstraints_2 = QListWidget(self.gridLayoutWidget) self.ListTagConstraints_2.setObjectName(u"ListTagConstraints_2") self.LayoutTagConstraints_2.addWidget(self.ListTagConstraints_2) self.gridLayout.addLayout(self.LayoutTagConstraints_2, 0, 2, 1, 1) self.LabelScheduledRoom_2 = QLabel(self.gridLayoutWidget) self.LabelScheduledRoom_2.setObjectName(u"LabelScheduledRoom_2") self.LabelScheduledRoom_2.setIndent(6) self.gridLayout.addWidget(self.LabelScheduledRoom_2, 4, 2, 1, 1) self.LabelScheduledDatetime_2 = QLabel(self.gridLayoutWidget) self.LabelScheduledDatetime_2.setObjectName(u"LabelScheduledDatetime_2") self.gridLayout.addWidget(self.LabelScheduledDatetime_2, 4, 0, 1, 1) self.horizontalSpacer_12 = QSpacerItem(40, 20, QSizePolicy.Minimum, QSizePolicy.Minimum) self.gridLayout.addItem(self.horizontalSpacer_12, 0, 1, 1, 1) self.LabelRoomTitle_2 = QLabel(self.gridLayoutWidget) self.LabelRoomTitle_2.setObjectName(u"LabelRoomTitle_2") self.LabelRoomTitle_2.setMargin(0) self.LabelRoomTitle_2.setIndent(6) self.gridLayout.addWidget(self.LabelRoomTitle_2, 3, 2, 1, 1) self.LayoutExecuteScheduling = QVBoxLayout() self.LayoutExecuteScheduling.setSpacing(6) self.LayoutExecuteScheduling.setObjectName(u"LayoutExecuteScheduling") self.LabelRoomGroupTitle_2 = QLabel(self.gridLayoutWidget) self.LabelRoomGroupTitle_2.setObjectName(u"LabelRoomGroupTitle_2") self.LabelRoomGroupTitle_2.setMargin(2) self.LabelRoomGroupTitle_2.setIndent(4) self.LayoutExecuteScheduling.addWidget(self.LabelRoomGroupTitle_2) self.LabelRoomGroup_2 = QLabel(self.gridLayoutWidget) self.LabelRoomGroup_2.setObjectName(u"LabelRoomGroup_2") self.LabelRoomGroup_2.setMargin(2) self.LabelRoomGroup_2.setIndent(4) self.LayoutExecuteScheduling.addWidget(self.LabelRoomGroup_2) self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.LayoutExecuteScheduling.addItem(self.verticalSpacer) self.horizontalLayout_14 = QHBoxLayout() self.horizontalLayout_14.setObjectName(u"horizontalLayout_14") self.ButtonExecute = QPushButton(self.gridLayoutWidget) self.ButtonExecute.setObjectName(u"ButtonExecute") sizePolicy.setHeightForWidth(self.ButtonExecute.sizePolicy().hasHeightForWidth()) self.ButtonExecute.setSizePolicy(sizePolicy) self.ButtonExecute.setMinimumSize(QSize(170, 32)) font3 = QFont() font3.setBold(True) font3.setItalic(False) font3.setWeight(75) self.ButtonExecute.setFont(font3) self.ButtonExecute.setLayoutDirection(Qt.LeftToRight) self.ButtonExecute.setFlat(False) self.horizontalLayout_14.addWidget(self.ButtonExecute) self.LayoutExecuteScheduling.addLayout(self.horizontalLayout_14) self.gridLayout.addLayout(self.LayoutExecuteScheduling, 5, 2, 1, 1) self.LayoutAssignOrganizer = QVBoxLayout() self.LayoutAssignOrganizer.setSpacing(0) self.LayoutAssignOrganizer.setObjectName(u"LayoutAssignOrganizer") self.LayoutAssignOrganizer.setContentsMargins(8, 8, 8, 8) self.horizontalLayout_8 = QHBoxLayout() self.horizontalLayout_8.setObjectName(u"horizontalLayout_8") self.LabelAssignedOrganizer = QLabel(self.gridLayoutWidget) self.LabelAssignedOrganizer.setObjectName(u"LabelAssignedOrganizer") self.LabelAssignedOrganizer.setAlignment(Qt.AlignCenter) self.horizontalLayout_8.addWidget(self.LabelAssignedOrganizer) self.horizontalSpacer_14 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_8.addItem(self.horizontalSpacer_14) self.ButtonAssignOrganizer = QPushButton(self.gridLayoutWidget) self.ButtonAssignOrganizer.setObjectName(u"ButtonAssignOrganizer") self.horizontalLayout_8.addWidget(self.ButtonAssignOrganizer) self.LayoutAssignOrganizer.addLayout(self.horizontalLayout_8) self.gridLayout.addLayout(self.LayoutAssignOrganizer, 1, 2, 1, 1) self.stackedWidget_2.addWidget(self.AdminView) self.LayoutEventDetails.addWidget(self.stackedWidget_2) self.LabelHint = QLabel(self.centralwidget) self.LabelHint.setObjectName(u"LabelHint") self.LabelHint.setGeometry(QRect(440, 260, 281, 20)) EventListWindow.setCentralWidget(self.centralwidget) self.retranslateUi(EventListWindow) self.ExtraButtons.setCurrentIndex(0) self.stackedWidget_2.setCurrentIndex(0) self.ButtonExecute.setDefault(False) QMetaObject.connectSlotsByName(EventListWindow)
class MainWindow(QMainWindow): font: QFont container: QWidget drop_label: QLabel calculate_button: QPushButton status_bar: QStatusBar directory_path: str = None _is_calculating: bool def __init__(self): super().__init__() self.font = QFont() self.font.setPointSize(25) self.font.setKerning(True) self.font.setStyleStrategy(QFont.PreferAntialias) self.setMinimumSize(QSize(560, 260)) self.setMaximumSize(QSize(560, 260)) self.setAcceptDrops(True) self.setWindowTitle(u"Source Code Calculator") self.setFixedSize(self.size()) self.setup_interface() self.init_handlers() def setup_interface(self): if not self.objectName(): self.setObjectName(u"Form") self.setup_container() self.setup_calculate_button() self.setup_drop_label() self.setup_status_bar() QMetaObject.connectSlotsByName(self) def setup_container(self): self.container = QWidget(self) self.container.setObjectName(u"container") self.setCentralWidget(self.container) def setup_status_bar(self): self.status_bar = QStatusBar(self) self.status_bar.setObjectName(u"status_bar") self.setStatusBar(self.status_bar) def setup_drop_label(self): self.drop_label = QLabel(self.container) self.drop_label.setObjectName(u"drop_label") self.drop_label.setEnabled(True) self.drop_label.setGeometry(QRect(10, 10, 541, 171)) self.drop_label.setFont(self.font) self.drop_label.setAutoFillBackground(False) self.drop_label.setFrameShape(QFrame.StyledPanel) self.drop_label.setText(u"Drop Your folder here") self.drop_label.setTextFormat(Qt.PlainText) self.drop_label.setAlignment(Qt.AlignCenter) def setup_calculate_button(self): self.calculate_button = QPushButton(self.container, text="Calculate") self.calculate_button.setObjectName(u"calculate_button") self.calculate_button.setEnabled(False) self.calculate_button.setGeometry(QRect(220, 190, 112, 32)) self.calculate_button.setFocusPolicy(Qt.NoFocus) def init_handlers(self): self.calculate_button.clicked.connect(self.on_calculate) @property def is_calculating(self): return self._is_calculating @is_calculating.setter def is_calculating(self, value): self._is_calculating = value self.setAcceptDrops(not value) self.calculate_button.setEnabled(not value) if value: self.drop_label.setText("Calculating ...") def on_calculate(self): if self.directory_path is not None: self.is_calculating = True asyncio.create_task(self.calculate()) async def calculate(self): calculator = CodeCalculator(self.directory_path) lines_of_code = await calculator.count() self.after_calculate(lines_of_code) def after_calculate(self, result: int): self.drop_label.setText(f"Lines of code: {result:0,d}") self.is_calculating = False def dragEnterEvent(self, event: QDragEnterEvent): if event.mimeData().hasUrls(): event.acceptProposedAction() def dropEvent(self, event: QDropEvent): uri: QUrl = event.mimeData().urls()[0] self.update_selected_path(uri) def update_selected_path(self, uri: QUrl): path = uri.toLocalFile() if not os.path.isdir(path): self.drop_label.setText("Drop directory instead of files") return self.directory_path = path max_label_length = 40 if len(path) > max_label_length: path = path[:max_label_length] + '...' self.drop_label.setText(path) self.calculate_button.setEnabled(True) self.drop_label.setToolTip(self.directory_path)
def setupUi(self, MainWindow): if not MainWindow.objectName(): MainWindow.setObjectName(u"MainWindow") MainWindow.resize(800, 600) sizePolicy = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) MainWindow.setMinimumSize(QSize(800, 600)) MainWindow.setMaximumSize(QSize(800, 600)) self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName(u"centralwidget") self.verticalLayout = QVBoxLayout(self.centralwidget) self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.frame_Toolbar = QFrame(self.centralwidget) self.frame_Toolbar.setObjectName(u"frame_Toolbar") self.frame_Toolbar.setMaximumSize(QSize(16777215, 45)) self.frame_Toolbar.setStyleSheet( u"background-color: rgb(128, 142, 149);") self.frame_Toolbar.setFrameShape(QFrame.StyledPanel) self.frame_Toolbar.setFrameShadow(QFrame.Raised) self.horizontalLayout_toolbar = QHBoxLayout(self.frame_Toolbar) self.horizontalLayout_toolbar.setSpacing(0) self.horizontalLayout_toolbar.setObjectName( u"horizontalLayout_toolbar") self.horizontalLayout_toolbar.setContentsMargins(0, 0, 0, 0) self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_toolbar.addItem(self.horizontalSpacer) self.pushButton_maximize = QPushButton(self.frame_Toolbar) self.pushButton_maximize.setObjectName(u"pushButton_maximize") sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy1.setHorizontalStretch(0) sizePolicy1.setVerticalStretch(0) sizePolicy1.setHeightForWidth( self.pushButton_maximize.sizePolicy().hasHeightForWidth()) self.pushButton_maximize.setSizePolicy(sizePolicy1) self.pushButton_maximize.setMinimumSize(QSize(0, 0)) self.horizontalLayout_toolbar.addWidget(self.pushButton_maximize) self.horizontalLayout_toolbar.setStretch(0, 20) self.verticalLayout.addWidget(self.frame_Toolbar) self.frame_Up = QFrame(self.centralwidget) self.frame_Up.setObjectName(u"frame_Up") self.frame_Up.setMaximumSize(QSize(16777215, 120)) self.frame_Up.setStyleSheet( u"background-color: rgb(176, 190, 197);\n" "font: 75 10pt \"\u5fae\u8f6f\u96c5\u9ed1\";\n" "color: rgb(102, 102, 102);\n" "\n" "") self.frame_Up.setFrameShape(QFrame.StyledPanel) self.frame_Up.setFrameShadow(QFrame.Raised) self.horizontalLayout = QHBoxLayout(self.frame_Up) self.horizontalLayout.setSpacing(0) self.horizontalLayout.setObjectName(u"horizontalLayout") self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.pushButton = QPushButton(self.frame_Up) self.pushButton.setObjectName(u"pushButton") sizePolicy1.setHeightForWidth( self.pushButton.sizePolicy().hasHeightForWidth()) self.pushButton.setSizePolicy(sizePolicy1) font = QFont() font.setFamily(u"\u5fae\u8f6f\u96c5\u9ed1") font.setPointSize(10) font.setBold(False) font.setItalic(False) font.setUnderline(False) font.setWeight(9) font.setStrikeOut(False) font.setKerning(True) font.setStyleStrategy(QFont.PreferDefault) self.pushButton.setFont(font) self.pushButton.setStyleSheet(u"") self.horizontalLayout.addWidget(self.pushButton) self.pushButton_2 = QPushButton(self.frame_Up) self.pushButton_2.setObjectName(u"pushButton_2") sizePolicy2 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) sizePolicy2.setHorizontalStretch(0) sizePolicy2.setVerticalStretch(0) sizePolicy2.setHeightForWidth( self.pushButton_2.sizePolicy().hasHeightForWidth()) self.pushButton_2.setSizePolicy(sizePolicy2) self.horizontalLayout.addWidget(self.pushButton_2) self.pushButton_3 = QPushButton(self.frame_Up) self.pushButton_3.setObjectName(u"pushButton_3") sizePolicy2.setHeightForWidth( self.pushButton_3.sizePolicy().hasHeightForWidth()) self.pushButton_3.setSizePolicy(sizePolicy2) self.horizontalLayout.addWidget(self.pushButton_3) self.verticalLayout.addWidget(self.frame_Up) self.frame_Center = QFrame(self.centralwidget) self.frame_Center.setObjectName(u"frame_Center") self.frame_Center.setStyleSheet( u"background-color: rgb(128, 142, 149);") self.frame_Center.setFrameShape(QFrame.StyledPanel) self.frame_Center.setFrameShadow(QFrame.Raised) self.verticalLayout.addWidget(self.frame_Center) self.frame_Down = QFrame(self.centralwidget) self.frame_Down.setObjectName(u"frame_Down") self.frame_Down.setMaximumSize(QSize(16777215, 120)) self.frame_Down.setStyleSheet( u"background-color: rgb(176, 190, 197);\n" "font: 75 10pt \"\u5fae\u8f6f\u96c5\u9ed1\";\n" "color: rgb(102, 102, 102);\n" "") self.frame_Down.setFrameShape(QFrame.StyledPanel) self.frame_Down.setFrameShadow(QFrame.Raised) self.horizontalLayout_2 = QHBoxLayout(self.frame_Down) self.horizontalLayout_2.setSpacing(0) self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.pushButton_5 = QPushButton(self.frame_Down) self.pushButton_5.setObjectName(u"pushButton_5") sizePolicy2.setHeightForWidth( self.pushButton_5.sizePolicy().hasHeightForWidth()) self.pushButton_5.setSizePolicy(sizePolicy2) self.horizontalLayout_2.addWidget(self.pushButton_5) self.pushButton_6 = QPushButton(self.frame_Down) self.pushButton_6.setObjectName(u"pushButton_6") sizePolicy2.setHeightForWidth( self.pushButton_6.sizePolicy().hasHeightForWidth()) self.pushButton_6.setSizePolicy(sizePolicy2) self.horizontalLayout_2.addWidget(self.pushButton_6) self.pushButton_exit = QPushButton(self.frame_Down) self.pushButton_exit.setObjectName(u"pushButton_exit") sizePolicy2.setHeightForWidth( self.pushButton_exit.sizePolicy().hasHeightForWidth()) self.pushButton_exit.setSizePolicy(sizePolicy2) self.horizontalLayout_2.addWidget(self.pushButton_exit) self.verticalLayout.addWidget(self.frame_Down) MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) self.pushButton_exit.clicked.connect(MainWindow.close) QMetaObject.connectSlotsByName(MainWindow)