Okienkowe aplikacje w Pythonie i PyQt5

W Pythonie możemy wykorzystywać pliki .ui opisujące wygląd interfejsu wygenerowanego w narzędziu Qt Designer. Aby uruchomić aplikację okienkową wykorzystującą xml-owy plik ui zawierający wygląd interfejsu i korzystającą z biblioteki Qt należy zainstalować nakładkę PyQt5 tzn.

pip install PyQt5

Następnie już możemy skorzystać z następującego kodu, który ładuje plik ui i ustawia tytuł okna aplikacji

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import uic

class MyApp(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        QMainWindow.setWindowTitle(self, 'App Window Title')
        uic.loadUi('app.ui', self)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyApp()
    window.show()
    sys.exit(app.exec_())

Powyższy kod jeszcze niczego nie robi, poza wyświetleniem okna z wybranymi przyciskami, etykietami itp. Aby te elementy mogły reagować np. na kliknięcie, należy zdefiniować sygnały i sloty dla elementu GUI np. dla przycisku o nazwie calculateButton tworzymy metodę, która będzie slotem odpowiadającym na sygnał clicked. Listę sygnałów, na które może odpowiadać dany element można znaleźć w dokumentacji biblioteki Qt. Przypisanie metody reagującej na sygnał umieszczamy w metodzie __init__() tzn.

self.calculateButton.clicked.connect(self.my_calculate_function)

a następnie definiujemy metodę, która będzie się uruchamiać po naciśnięciu przycisku:

def my_calculate_function(self):
        pass

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *