Skip to main content

pyqt help examples and some other useful objects (overloaded pyqt classes)

Project description

pyqt_templates (v0.0.6)

DESCRIPTION_SHORT

Pyqt help examples and some other useful objects (overloaded pyqt classes)

DESCRIPTION_LONG

Designed for ...

Features

  1. good template for TableView/Model/Signals

License

See the LICENSE file for license rights and limitations (MIT).

Release history

See the HISTORY.md file for release history.

Installation

pip install pyqt-templates

Import

from pyqt_templates import *

USAGE EXAMPLES

See tests and sourcecode for other examples.


1. template-1=IMPORT_BEST.py

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

2. template-2=QAPP_in_cls.py

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

from typing import *


# =====================================================================================================================
pass


# =====================================================================================================================
class Gui(QWidget):
    TITLE: str = "[GUI] Universal"
    _QAPP: QApplication = QApplication([])

    def __init__(self):
        super().__init__()

        self.wgt_create()
        self.wgt_main__apply_settings()
        self.slots_connect()

        # GUI SHOW ----------------------------------------------------------------------------------------------------
        self.show()
        exit_code = self._QAPP.exec_()
        if exit_code == 0:
            print(f"[OK]GUI({exit_code=})closed correctly")
        else:
            print(f"[FAIL]GUI({exit_code=})closed INCORRECTLY")
        sys.exit(exit_code)

    def wgt_main__apply_settings(self) -> None:
        # MAIN WINDOW -------------------------------------------------------------------------------------------------
        self.setWindowTitle(self.TITLE)

        self.setMinimumSize(300, 100)
        # self.setMinimumWidth(300)
        # self.setMinimumHeight(100)

        self.resize(300, 100)

    def wgt_create(self) -> None:
        # GRID --------------------------------------------------------------------------------------------------------
        layout_grid = QGridLayout()
        layout_grid.setSpacing(2)
        layout_grid.addWidget(QLabel("STLINK"), 0, 0)
        layout_grid.addWidget(QLabel("0"), 0, 1)
        layout_grid.addWidget(QLabel("1"), 0, 2)

        # START -------------------------------------------------------------------------------------------------------
        self.btn_start = QPushButton("START")
        self.btn_start.setCheckable(True)

        # layout ------------------------------------------------------------------------------------------------------
        layout_main = QVBoxLayout()
        layout_main.addLayout(layout_grid)
        layout_main.addWidget(self.btn_start)
        self.setLayout(layout_main)

    def slots_connect(self) -> None:
        self.btn_start.toggled.connect(self.btn_toggled)

    def btn_toggled(self, _state: Optional[bool] = None) -> None:
        print(f"btn {_state=}")


# =====================================================================================================================
if __name__ == '__main__':
    Gui()


# =====================================================================================================================

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyqt_templates-0.0.6.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

pyqt_templates-0.0.6-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file pyqt_templates-0.0.6.tar.gz.

File metadata

  • Download URL: pyqt_templates-0.0.6.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for pyqt_templates-0.0.6.tar.gz
Algorithm Hash digest
SHA256 7385519a4a06e0a4be4a97fe6fc21bb0a4bb15b7259d2a6e2f3389cd7b9a9f93
MD5 8052438d556115d77f8ef4a0c90d3993
BLAKE2b-256 16b6b9d198d2f6f3ef70e71bef0fd564f0dc44ab95dad1190b11e66966dd76c4

See more details on using hashes here.

File details

Details for the file pyqt_templates-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for pyqt_templates-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 aa58b62fcfd84e071764a536400cca065c18b27e1343f39128f90d79f004d983
MD5 03b72ebdd9ba71378f46f6b60ca6c4b2
BLAKE2b-256 86b0e17612560e6b9b0eecb2f5212ca610b381bd5188c2369630c6a7c2b9fa32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page