Skip to main content

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

Project description

pyqt_templates (v0.0.9)

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.9.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

pyqt_templates-0.0.9-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyqt_templates-0.0.9.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.7

File hashes

Hashes for pyqt_templates-0.0.9.tar.gz
Algorithm Hash digest
SHA256 98902cd5ab97bcae9eb2f8928f5adc2ff7d80ab6e9fac300097965c51a401f1b
MD5 f010c00c7a4f6103e2abc8ad68779c74
BLAKE2b-256 caeede08a8fafd00b739ac738044d366731fb2de6e72cc244e41ab0be3bae024

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqt_templates-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 c479d034c51ebfa83048a00c0b739b1c40c50e65ba77901742255f26b6f371f3
MD5 6216f6425d9068f087d2154de11e9639
BLAKE2b-256 ab0036dfc357475eba4577431e1a77b8f8e105e347ae92d754464ca55aaafe3a

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