{"id":24839130,"url":"https://github.com/winand/qtapp","last_synced_at":"2026-04-30T07:42:58.258Z","repository":{"id":66676128,"uuid":"113444949","full_name":"Winand/qtapp","owner":"Winand","description":"Helps to create interfaces with Qt rapidly","archived":false,"fork":false,"pushed_at":"2022-11-28T20:06:21.000Z","size":62,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-12T19:36:24.248Z","etag":null,"topics":["gui","pyqt","python","python3","qt","rapid-development","rapid-prototyping"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Winand.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-07T11:52:40.000Z","updated_at":"2025-01-14T14:00:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"72742056-1922-407c-be2a-2828255d9dd1","html_url":"https://github.com/Winand/qtapp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Winand/qtapp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Winand%2Fqtapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Winand%2Fqtapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Winand%2Fqtapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Winand%2Fqtapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Winand","download_url":"https://codeload.github.com/Winand/qtapp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Winand%2Fqtapp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32458237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gui","pyqt","python","python3","qt","rapid-development","rapid-prototyping"],"created_at":"2025-01-31T06:36:47.766Z","updated_at":"2026-04-30T07:42:58.240Z","avatar_url":"https://github.com/Winand.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# qtapp\n\n`qtapp` helps to create Qt5 GUI with as little source code as possible.\n\n![src1](https://user-images.githubusercontent.com/53390/33850261-5bd04746-dec4-11e7-884f-f5b52d67755e.PNG)\n\nFeatures:\n* Load UI-file\n* Compile resources\n* Connect signals and events\n* Add tray icon\n* Show splash screen\n\nRequirements:\n* PyQt / PySide\n* qtpy\n* pathlib (Python 3.4+)\n\nDocumentation:\n````\n`options` - `dict` with various options\n  Members:\n  `skip_missing_resources`=False - do not raise error if .qrc-file not found\n  `debug`=False - print various debug messages to stdout\n  `slot_prefix`=\"\" - slot name prefix, see `connect_all`\n  `compiled_qrc`=True - compile resource files to .pyc instead of .py\n`QtApp` - QApplication subclass\n  Members:\n  `path` - application path\n  `load_resources` - load specified .qrc-file\n  `exec()` - start main event loop\n  [signal] `terminated` - application is terminated with Ctrl+C (SIGINT)\n  [signal] `deactivated` - application lost focus\n  [signal] `wheel(widget, direction)` - mouse wheel event over a `widget`\n`app()` - `QtApp` instance, creates a new one on 1st call\n`QtForm()` - create new Qt window (and `QtApp` instance if needed). Arguments\n             can be provided in variables of user class: _argname_ = value\n  Arguments:\n  `Form` - user class to use as a subclass of `QWidget` (explicitly specify\n           super class [QDialog|QWidget|QMainWindow] if ui-file is not used)\n  `*args`=() - additional arguments for user class `__init__`\n  `flags`=None - Qt.WindowFlags\n  `ui`=None - path to .ui-file (file extension is optional), `False` - disable\n              .ui loading, `None` - try lowercase name of `Form` class.\n  `ontop`=False - show window always on top, adds `WindowStaysOnTopHint` flag\n                  to `flags`.\n  `icon`=None - set window icon: QIcon|QStyle.StandardPixmap|image-path.\n                `SP_TitleBarMenuButton` icon is used by default\n  `show`=True - show window by default\n  `tray`=None - add tray icon: True (use QtForm window icon)|dict\n      Arguments:\n      {`tip` - tray icon tooltip,\n       `icon` - custom icon (see `QtForm` `icon` arg)}\n  `splash`=None - show splash screen: str|pathlib.Path|dict\n                  Pass image path only or options dict.\n      Arguments:\n      {`image` - path to splash screen image file,\n       `title`=\"Loading application...\" - caption on the splash screen,\n       `align`=Qt.AlignHCenter|Qt.AlignBottom - caption alignment,\n       `color`=Qt.black - caption color,\n       `width`, `height`=None - resize image (px), aspect ratio is preserved\n                                if one argument is not specified\n  `loop`=False - do not return and start main event loop\n  `connect`='after' - call `connect_all()` [before|after] user class\n                      initialization or never (False). 'after' is ignored if a\n                      user calls the function manually.\n  `slot_prefix`=options['slot_prefix'] - slot name prefix for QtForm subclass\n  `title`=None - set window title\n  `layout`=None - set layout of a specified `QLayout` subclass to the widget\n  `**kwargs`=() - additional keyword arguments for user class `__init__`.\n                  To pass additional arguments to base class `__init__` use\n                  keywords with `_super` postfix.\n  Members:\n  `app` - `QtApp` instance\n  `tray` - `QSystemTrayIcon` if created or None\n      Members:\n      `addMenuItem(name1, func1, ...)` - add 1 or more context menu items\n  `connect_all()` - connects events and signals to appropriate members:\n                    [prefix_]object_signal (special: `eventFilter`)\n              Note: Use object=\"self\" for `QtForm` signal handlers.\n                    Its event handlers can be reimplemented directly.\n          See also: http://stackoverflow.com/q/48027254\n  `init_tray()` - init. tray icon manually, see `tray` arg. of `QtForm`\n  `splashscreen` - `QSplashScreen` if created or None. After _init_ it's None\n  `setTopmost`/`isTopmost` - put window on top of all other windows\n\n`Dialog()` - show modal dialog which wraps `QDialog`\n  Arguments:\n  All arguments of QtForm except for `show`.\n  `get_result`=True - return `(result, answer)` otherwise returns QDialog\n                      instance. See also `QDialog.result`.\n  Members:\n  `accept([answer])` - accept dialog, set answer. See also `QDialog.accept`.\n  `reject([answer])` - reject dialog, set answer. See also `QDialog.reject`.\n  `answer()` - answer set by `accept` or `None`.\n````\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinand%2Fqtapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwinand%2Fqtapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinand%2Fqtapp/lists"}