Skip to main content

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

Project description

pyqt_templates

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

Features

  1. good template for TableView/Model

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

Uploaded Source

Built Distribution

pyqt_templates-0.0.3-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyqt_templates-0.0.3.tar.gz
  • Upload date:
  • Size: 12.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.3.tar.gz
Algorithm Hash digest
SHA256 c131dd617769f95e25f1c856b3b2f08f776534f3f9622a303caf1b576e997545
MD5 653bd2af1d2cfaec7073717bf69d2629
BLAKE2b-256 74bf7e4faf003157069a352a5b9043671304f7b1fbd4faefe18300f21f9e23bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqt_templates-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fa61f59423d1544721fc7b2498312a478f6797a4adc4a70512784c6e1b3c7c47
MD5 f5ff2b7726cd6f8f16bc4462975c91f7
BLAKE2b-256 ef498fa8d8653f88573500d13dd3be954a0435335f2cfb47bef8a34ae92d161e

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