def makeApp(): app = QApplication(sys.argv) app.setQuitOnLastWindowClosed(False) app.setWindowIcon(makeIcon("tomato")) app.setApplicationName("Pomodoro") app.setOrganizationName("Burak Martin") app.setOrganizationDomain("https://github.com/burakmartin") return app
def setup_app(name: str, desktop_file: t.Optional[str], icon_name: t.Optional[str]): app = QApplication([name]) app.setDesktopFileName(desktop_file) icon = QIcon.fromTheme(icon_name) or QIcon.fromTheme( "internet-web-browser") app.setWindowIcon(icon) app.setDesktopFileName(name) return app
def run_gui(): # Creat an instance of PyQt6 application # Every PyQt6 application has to contain this line app = QApplication(sys.argv) # Set the default icon to use for all the windows of our application app.setWindowIcon( QIcon('GUI/gui_icon.ico')) # GUI Icon, feel free to change # Create an instance of the GUI window. window = MainWindow() window.show() # Next line hands the control over to Python GUI app.exec()
import logging import sys from PyQt6.QtGui import QIcon from PyQt6.QtWidgets import QApplication from aset.resources import ResourceManager from aset_ui.main_window import MainWindow logging.basicConfig( level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s") logger = logging.getLogger() if __name__ == "__main__": logger.info("Starting aset_ui.") with ResourceManager() as resource_manager: # set up PyQt application app = QApplication(sys.argv) app.setWindowIcon(QIcon("aset_ui/resources/logo.png")) window = MainWindow() sys.exit(app.exec())
class Application: def __init__(self, args): Log.append('app_init', 'Info', 'version: %s' % Const.version) set_default(default_zone=Zone(home_dir=pyinstaller.get_runtime_dir())) self.qt = QApplication(args) self.qt.setApplicationName(Const.app_name) self.qt.setWindowIcon( QIcon('%s/app/res/icon.png' % pyinstaller.get_runtime_dir())) self.hook_exception() self.config = Config() self.config.load() self.lang = None # type: English self.load_language(Config.language) self.events = { 'process_events': self.qt.processEvents, 'export_log': self.export_log, 'check_update': self.check_update, 'load_language': self.load_language, 'get_language': lambda: self.lang, 'set_language': self.set_language, 'get_config': lambda: self.config, } def load_language(self, language): self.lang = load_language(language) def set_language(self, language): self.lang = load_language(language) self.config.language = language self.config.save() def run(self): init_app(events=self.events) return self.qt.exec() def callback_exception(self, exc=None): if exc is None: exc = common.get_exception() Log.append(self.callback_exception, 'Error', exc) if QMessageBox.warning(None, self.lang.title_crash, self.lang.description_crash): self.export_log() def export_log(self): folder = QFileDialog.getExistingDirectory( None, caption=self.lang.menu_export_log) if folder is not None: log = Log.extract_log() err = Log.extract_err() for f in Config._protect_fields: v = getattr(Config, f, '') if v != '': log = log.replace(v, Const.protector) err = err.replace(v, Const.protector) if log != '': with open('%s/%s' % (folder, '%s.log' % Const.app_name), 'w') as io: io.write(log) if err != '': with open('%s/%s' % (folder, '%s.err' % Const.app_name), 'w') as io: io.write(err) def check_update(self, test=False): try: release = github.get_latest_release(Const.author, Const.app_name, timeout=5) Log.append(self.check_update, 'Info', release) if test or common.compare_version(Const.version, release['tag_name']): if len(release['assets']) > 0: QMessageBox.information( self.lang.title_check_update, '%s\n%s\n\n%s' % (self.lang.description_new_version, release['body'], release['assets'][0]['browser_download_url'])) else: QMessageBox.information( self.lang.title_check_update, '%s\n%s\n\n%s' % (self.lang.description_new_version, release['body'], release['assets'][0]['browser_download_url'])) except: Log.append(self.check_update, 'Warning', common.get_exception()) def hook_exception(self): def boom(type, value, tb): from io import StringIO from app.util import io_helper import traceback with StringIO() as io: traceback.print_exception(type, value, tb, file=io) exc = io_helper.read_all(io) self.callback_exception(exc) sys.excepthook = boom
""" Qt Charts require QApplication. And so we use that if the qml code imports QtCharts We can create the Qt Application object in an if..else.. statement but not in a function """ # Check if it import QtCharts chk = Check(sys.argv[1]) contains_qtchart = chk.check_for_qtcharts() # use that to decide what to use if contains_qtchart: app = QApplication(sys.argv) else: app = QGuiApplication(sys.argv) app.setWindowIcon(QIcon(':/icons/logo.png')) app.aboutToQuit.connect(clean_up) engine = QQmlApplicationEngine() else: print('qmlview error: File Not Found [{0}]'.format(sys.argv[1])) print('Please write Filepath in full.') print(' Eg:', PATH_EG) print('or Do: qmlview -help or --help: for help') house_keeping(2) # check if it comes with parameters if len(sys.argv) > 2: if sys.argv[2] in PARAMS: # has a parameter
"""Image Manager GUI, Part 2 Entry-point script Building Custom UIs with PyQt with Packt Publishing Chapter 2 - Building the Foundation for GUIs Created by: Joshua Willman """ import sys from PyQt6.QtWidgets import QApplication from PyQt6.QtGui import QIcon from image_manager.main_window import MainWindow if __name__ == "__main__": app = QApplication(sys.argv) app.setWindowIcon(QIcon("icons/images_icon.png")) window = MainWindow() sys.exit(app.exec())
#!/usr/bin/env python3 import sys from PyQt6.QtWidgets import QApplication from lanzou.gui.gui import MainWindow, get_lanzou_logo if __name__ == "__main__": app = QApplication(sys.argv) app.setWindowIcon(get_lanzou_logo()) form = MainWindow() form.show() form.call_login_launcher() sys.exit(app.exec())
import os import sys from PyQt6.QtGui import QIcon from PyQt6.QtWidgets import QApplication from dashboad import SwaVanMainWindow from shared.recorder import SwaVanLogRecorder from shared.widgets.builder import full_path if __name__ == "__main__": app = QApplication(sys.argv) app.setApplicationDisplayName("SwaVan") app.setApplicationName("SwaVan") app.setDesktopFileName("SwaVan") app.setWindowIcon(QIcon(full_path("assets/images/logo/swavan_one_ui.icns"))) with open(full_path("assets/style/dark.qss"), 'r') as file: qss = file.read() app.setStyleSheet(qss) if os.path.exists(full_path("data/logs/swavan.log")): open(full_path("data/logs/swavan.log"), 'w').close() widget = SwaVanMainWindow() widget.show() SwaVanLogRecorder.init() sys.exit(app.exec())