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