meta data for this page
  •  

To jest stara wersja strony!


PyQt

PyQt to biblioteka (nakładka na bibliotekę Qt) do tworzenia graficznego interfejsu użytkownika GUI dla języka Python.

Instalacja

python -m pip install PyQt6
python -m pip install pyqt6-tools

W katalogu Pythona, przykładowo w Windows C:\Python\Lib\site-packages\qt6_applications\Qt\bin znajduje się aplikacja designer.exe, za pomocą której możemy projektować interfejs graficzny. Najlepiej zrobić sobie do niej skrót.

Kompilacja

Gotowy projekt zapisany zostaje jako plik z rozszerzeniem .ui, np. hello.ui. Jest to plik XML, który można następnie przekształcić w kod Pythona i wykorzystać w naszym skrypcie. Plik .ui kompilujemy, za pomocą Python UI Compiler, następująco:

pyuic6 -o hello.py hello.ui

Python UI Compiler znajduje się w C:\Python\Scripts\pyuic6.exe. Jeżeli chcesz móc przetestować sam projekt interfejsu, dodaj opcję -x do kompilatora.

pyuic6 -x -o hello_ui.py hello.ui

Teraz będzie możliwe uruchomienie.

python hello_ui.py

Przykładowy skrypt

Tworzymy nowy plik, np. hello.py.

from hello_ui import Ui_Form
from PyQt6 import QtWidgets as qtw
from PyQt6 import QtCore as qtc

Wygenerowny kod hello_ui.py zawiera klasę Ui_Form, ale klasa ta sama nie stworzy okna. Okno (Form) musimy stworzyć osobno i podać dla obiektu klasy Ui_Form jako argument metody setupUi(Form). Inaczej mówiąc nasz wygenerowany kod nie tworzy interfejsu od początku, lecz konfiguruje podany interfejs, aby wyglądał tak jak chcemy.

class MyWindow(qtw.QWidget):
  def __init__(self, *args, **kwargs):
    super()
 
if __name__ == '__main__':
  app = qtw.QApplication(sys.argv)
  Form = qtw.QWidget() # Tworzmy okno
  ui = Ui_Form() # Tworzymy obiekt UI reprezentujący nasz projekt interfejsu.
  ui.setupUi(Form) # Konfigurujemy okno.
  Form.show()