app.setStyleSheet(''' QLineEdit[text=""]{ border: 1px #30363d; border-radius: 3px; padding: 1px 18px 1px 3px; background-color: #1c2128; color: #8b949e; } QLineEdit{ color: #f0f6fc; } QLineEdit:hover { border: 0.5px solid #c9d1d9; } QLineEdit:focus { border: 1px solid #c9d1d9; } QWidget{ background-color: #0d1117; } QCheckBox { spacing: 0px; padding: 0px; } QCheckBox::indicator { width: 11px; height: 11px; outline: 1px solid hsla(0, 0, 100, 0.05); border-radius: 3px; } QCheckBox::indicator:pressed { outline: 0px; } QCheckBox::indicator:unchecked { background-color: #161b22; opacity: 0.5; } QCheckBox::indicator:unchecked:hover { background-color: #003820; opacity: 1; } QCheckBox::indicator:checked { background-color: #10983d; } QCheckBox::indicator:checked:hover { background-color: #00602d; } QComboBox { border: 1px #30363d; border-radius: 3px; padding: 1px 18px 1px 3px; min-width: 6em; background: #1c2128; color: #f0f6fc; } QComboBox:editable { background: #1c2128; color: #f0f6fc; } QComboBox:!editable, QComboBox::drop-down:editable { background: #1c2128; color: #f0f6fc; } /* QComboBox gets the "on" state when the popup is open */ QComboBox:!editable:on, QComboBox::drop-down:editable:on { background: #1c2128; color: #f0f6fc; } QComboBox:hover { background: #30363d; } QComboBox:on { /* shift the text when the popup opens */ padding-top: 3px; padding-left: 4px; color: #f0f6fc; } QComboBox::drop-down { border: 1px solid #30363d; subcontrol-origin: padding; subcontrol-position: top right; width: 15px; background-color: #0d1117; color: #f0f6fc; } QComboBox::down-arrow:on { /* shift the arrow when popup is open */ top: 1px; left: 1px; color: #f0f6fc; } QComboBox QAbstractItemView { border: 1px solid #30363d; selection-background-color: #0d1117; color: #f0f6fc; } QLabel{ color: #f0f6fc; } QPushButton { border: 1px solid #30363d; border-radius: 4px; background-color: #161b22; color: #58a6ff; min-width: 80px; } QPushButton:pressed { background-color: #0d1117; border: 0px; } QPushButton:hover { background-color: #30363d; } QPushButton:flat { border: none; /* no border for a flat push button */ } QScrollBar:vertical { background-color: #161b22; width: 15px; margin: 15px 3px 15px 3px; border: 1px transparent #2A2929; border-radius: 4px; } QScrollBar::handle:vertical { background-color: #58a6ff; min-height: 5px; border-radius: 4px; } QScrollBar::sub-line:vertical { margin: 3px 0px 3px 0px; border: 0px; height: 10px; width: 10px; subcontrol-position: top; subcontrol-origin: margin; } QScrollBar::add-line:vertical { margin: 3px 0px 3px 0px; border: 0px; height: 10px; width: 10px; subcontrol-position: bottom; subcontrol-origin: margin; } QScrollBar::sub-line:vertical:hover,QScrollBar::sub-line:vertical:on { border: 0px; height: 10px; width: 10px; subcontrol-position: top; subcontrol-origin: margin; } QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { border: 0px; height: 10px; width: 10px; subcontrol-position: bottom; subcontrol-origin: margin; } QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { background: none; } QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: none; } QSpinBox { padding-right: 15px; /* make room for the arrows */ border: 1px solid #30363d; border-radius: 3px; color: #f0f6fc; background: solid #1c2128 } QSpinBox:hover { border: 0.5px solid #c9d1d9; } QSpinBox:focus { border: 1px solid #c9d1d9; } QSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; /* position at the top right corner */ width: 14px; /* 16 + 2*1px border-width = 15px padding + 3px parent border */ border: 1px solid #30363d; border-bottom: 0px; background: solid #30363d; } QSpinBox::up-arrow { width: 7px; height: 7px; background: solid black; } QSpinBox::down-button { subcontrol-origin: border; subcontrol-position: bottom right; /* position at bottom right corner */ width: 14px; border: 1px solid #30363d; border-top: 0px; background: solid #30363d; } QSpinBox::down-button:hover { border: 0.5px solid #c9d1d9; } QSpinBox::down-button:focus { border: 1px solid #c9d1d9; border-top: 0px; } QSpinBox::up-button:hover { border: 0.5px solid #c9d1d9; } QSpinBox::up-button:focus { border: 1px solid #c9d1d9; border-bottom: 0px; } QSpinBox::down-arrow { width: 7px; height: 7px; background: solid black; } ''')
app.setStyleSheet(''' * { background-color: #fff; } QWidget { font-size: 15px; border-radius: 4px; } QStatusBar { font-size: 12px; } QStatusBar QPushButton { background-color: none; font-family: 'Segoe UI Symbol'; padding: 0 40px; color: #333; } QStatusBar QPushButton:hover { background-color: none; color: #0078d4; } QLineEdit { padding: 4px 10px; margin-right: 10px; border: 2px solid #bababa; font-size: 16px; font-family: 'Segoe UI Symbol'; selection-background-color: #0078d4; } QLineEdit:hover { border-color: #808080; } QLineEdit:focus { border-color: #0078d4; } QMenu { color: #000; border: 1px solid #bababa; padding: 5px; } QMenu::item { padding: 3px 25px; border-radius: 4px; } QMenu::item:selected { color: #fff; background-color: #0078d4; } QPushButton { width: 125px; padding: 7px 0; color: #fff; border: none; background-color: #0078d4; } QPushButton:hover, QComboBox:hover { background-color: #00599d; } QPushButton:disabled, QComboBox:disabled { background-color: #77b7e9; } QComboBox { padding: 5.5px 30px 5.5px 45px; color: #fff; border: none; background-color: #0078d4; } QComboBox::drop-down { border-radius: 0; } QComboBox:on { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } QComboBox QAbstractItemView { border-radius: 0; outline: 0; } QComboBox QAbstractItemView::item { height: 33px; padding-left: 42px; background-color: #fff; } QComboBox QAbstractItemView::item:selected { background-color: #0078d4; } QProgressBar { text-align: center; } QProgressBar::chunk { background: #0078d4; border-radius: 4px; } QMessageBox QLabel { font-size: 13px; } QMessageBox QPushButton { width: 50px; padding: 6px 25px; } ''')
settings = Settings() segfault_log = (logging_dir / 'faulthandler.log').open(mode='a') faulthandler.enable(segfault_log) app = QApplication(sys.argv) from .handle_errors import handle_exception sys.excepthook = handle_exception qss = get_file('main.css', 'qss', path=True).read_text() if getattr(sys, 'frozen', False): qss = qss.replace('beskar/images', 'images') app.setStyleSheet(qss) from .popups import StartUpPopup startup = StartUpPopup() update_thread = None if sys.platform == 'win32': from .update import UpdateChecker, close_toasters from .handle_errors import handle_exception update_thread = UpdateChecker() update_thread.raise_exception.connect(lambda tup: handle_exception(*tup)) update_thread.close_all_windows.connect(QApplication.closeAllWindows) app.aboutToQuit.connect(close_toasters) startup.rejected.connect(close_toasters)
# show the success message if (self.message_box.information( self, "Downloaded", f"Download complete!\nFile was successfully downloaded to :\n{location}\n\nOpen the downloaded file now ?", QMessageBox.StandardButtons.Open, QMessageBox.StandardButtons.Cancel, ) is QMessageBox.StandardButtons.Open): subprocess.Popen(f"explorer /select,{location}") # download error slot def download_err_slot(self): # show the error message self.message_box.critical( self, "Error", "Error!\nSomething unusual happened and was unable to download...", ) if __name__ == "__main__": # instantiate the application app = QApplication(sys.argv) # setup a custom styleSheet with open(f"{os.path.dirname(os.path.abspath(__file__))}/app.css") as f: app.setStyleSheet(f.read()) window = B23Download() # show the window at last window.show() sys.exit(app.exec())
button = QPushButton('&say hello') button.clicked.connect(self.say_hello) self.output = QTextEdit() layout.addWidget(self.inputField) layout.addWidget(button) layout.addWidget(self.output) def say_hello(self): input_text = self.inputField.text() self.output.setText(f'Hello {input_text}') app = QApplication(sys.argv) app.setStyleSheet(""" QWidget { font-size: 25px; } QPushButton { font_size: 20px; } """) window = MyApp() window.show() app.exec()