예제 #1
0
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
예제 #2
0
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
예제 #3
0
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()
예제 #4
0
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())
예제 #5
0
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
예제 #6
0
        """
        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())
예제 #8
0
#!/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())
예제 #9
0
파일: main.py 프로젝트: swavan/oneui
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())