(PY) Biblioteka PyQt 5 (Signals)*

Biblioteka PyQt 5 (Signals)

  • Biblioteka PyQt 5 wykorzystuje sygnały (Signals) do sterowania akcjami jakie mają być wykonane po wykonaniu przez użytkownika akcji. Akcją użytkownika może być np. wciśnięcie przycisku, zmiana wartości pola tekstowego oraz wiele innych.

Sygnały (Signals)

Sygnały sterujące

Przykładowy kod

import sys
from PyQt5.QtWidgets import (
    QApplication,
    QMainWindow,
    QPushButton)


class MainWindow(QMainWindow):

    def __init__(self, parent=None):
        super().__init__(parent)

        # Dodaje nazwę okna:
        self.setWindowTitle("RKKR")
        # Określa wielkość okna aplikacji (Zmiana wielkości okna jest możliwa):
        self.resize(600,600)

        # Tworzy nowy przycisk Button z podaną nazwą:
        self.myButton = QPushButton("Press Me!")
        # Przycisk Button działa w dwóch trybach aktywnym True oraz pasywnym False.
        self.myButton.setCheckable(True)
        # Signal "clicked" wywołuje wskazaną metodę:
        self.myButton.clicked.connect(self._clickedButton)
        self.myButton.clicked.connect(self._clickButton)
        self.myButton.clicked.connect(self._checkClickButton)
        # Przypisuje stworzony przycisk Button do Widgetu:
        self.setCentralWidget(self.myButton)

    def _clickButton(self):
        # Po wciśnięciu przycisku Button, wyświetla napis "RKKR":
        print("RKKR")

    def _clickedButton(self):
        """ Po wciśnięciu przycisku Button, wyświetla napis "Zablokowano przycisk", oraz blokuje moliwość dalszego uzycia przycisku button. """
        
        # Zmienia nazwę przycisku Button:
        self.myButton.setText("Done, clicked!")
        # Blokuje przycisk Button:
        self.myButton.setEnabled(False)
        # Zmienia nazwę okna aplikacji:
        self.setWindowTitle("Other app name")
        # Po wciśnięciu przycisku Button, wyświetla napis "Zablokowano przycisk":
        print("Zablokowano przycisk")

    def _checkClickButton(self, checked):
        # Wyświetla status przycisku Button (True / False).
        print(checked)

def main():
    application = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    application.exec_()

if __name__ == "__main__":
    main()

Pozostałe tematy związane z bibliotekami / modułami Python

Podstawowe

Rozszerzone

SQL

PyQt 5

Automatyzacja

Data Mining

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz