Na ovoj stranici

Tutorijal: Qt Widgets i Python

Prvo, stvorite projekt aplikacije za Qt for Python. Zatim uredite osnovni kôd kako biste razvili malu aplikaciju koja koristi Qt kontrole za prikaz teksta Hello World na nekoliko jezika.

Mala Qt Widgets aplikacija

Za više primjera izrade Qt for Python aplikacija pogledajte primjere i tutorijale na adresiQt for Python .

Stvorite prazan projekt prozora

Za stvaranje Qt for Python aplikacije koja ima izvornu datoteku za glavnu klasu:

  1. Idite na File > New Project.
  2. Odaberite Application (Qt for Python) > Empty Window > Choose za otvaranje dijaloga Project Location.

    Dijalog Lokacija projekta

  3. U prozoru Name unesite naziv projekta. Na primjer, hello_world.
  4. U Create in unesite putanju do datoteka projekta. Na primjer, C:\Examples.
  5. Odaberite Next (na Windowsu i Linuxu) ili Continue (na macOS-u) za otvaranje dijaloga Define Class.

    Definiraj dijalog klase

  6. U Class name unesite MyWidget kao naziv klase.
  7. U Base class u odaberite QWidget kao osnovnu klasu.

    Napomena: Polje Source file automatski se ažurira kako bi odgovaralo nazivu klase.

  8. U Project file unesite naziv za datoteku projekta.
  9. Odaberite Next ili Continue za otvaranje dijaloga Define Project Details.

    Definirajte dijalog detalja projekta

  10. U PySide version odaberite verziju PySidea za generirani kod.
  11. Odaberite Next ili Continue za otvaranje dijaloga Kit Selection.

    Odabir paketa za Python projekt

  12. Odaberite Python pakete za izgradnju, implementaciju i pokretanje projekta. Po zadanome se time stvara virtualno okruženje za projekt unutar direktorija izvornog koda. Za korištenje globalnog interpretatora odaberite konfiguraciju izgradnje istog naziva kao Python paketa u prozoru Details.
  13. Odaberite Next ili Continue.
  14. Pregledajte postavke projekta i odaberite Finish (na Windowsu i Linuxu) ili Done (na macOS-u) za stvaranje projekta.

Čarobnjak generira sljedeće datoteke:

  • pyproject.toml, koja popisuje datoteke u Python projektu i ostale konfiguracije.
  • mywidget.py, koji sadrži osnovni kôd za klasu.
  • requirements.txt, koja pohranjuje verziju generiranog koda za PySide. Ovu datoteku možete koristiti za instalaciju potrebne verzije PySidea pomoću pipa.

Instalirajte PySide6 za projekt

U načinu rada Edit odaberite Install za postavljanje PySide6 za projekt.

Poticaj za instalaciju PySide6

Dodajte uvoze za Qt Widgets

Čarobnjak dodaje uvoze u izvornu datoteku mywidget.py za pristup QApplication i osnovnoj klasi koju ste odabrali u modulu Qt Widgets, QWidget. Osim toga, potrebno je uvesti random i QtCore za nasumični odabir jezika prikazanog teksta te QtWidgets za dodavanje UI elemenata:

import sys
import random
from PySide6.QtWidgets import QApplication, QWidget
from PySide6 import QtCore, QtWidgets

Dodajte korisnički sučelje temeljeno na widgetima

Čarobnjak dodaje glavnu klasu s navedenim imenom koja nasljeđuje od navedene bazne klase:

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

Dodajte widgete gumba, oznake i rasporeda kako biste stvorili UI elemente:

...
self.hello = ["Hallo Welt", "Hei maailma", "Hola Mundo", "Привет мир"]

self.button = QtWidgets.QPushButton("Click me!")
self.text = QtWidgets.QLabel("Hello World",
                             alignment=QtCore.Qt.AlignCenter)

self.layout = QtWidgets.QVBoxLayout(self)
self.layout.addWidget(self.text)
self.layout.addWidget(self.button)
...

Dodajte signale i slotove

Zatim dodajte signal i slot za implementaciju nasumične funkcije:

    ...
    self.button.clicked.connect(self.magic)

@QtCore.Slot()
def magic(self):
    self.text.setText(random.choice(self.hello))

Dodajte glavnu funkciju

QApplication Čarobnjak dodaje glavnu funkciju, u kojoj stvara instancu klase MainWindow. Budući da Qt može primati argumente s komandne linije, možete proslijediti bilo koje argumente objektu QApplication. Obično nije potrebno prosljeđivati argumente i možete koristiti sljedeći pristup:

if __name__ == "__main__":
    app = QApplication(sys.argv)
    ...

Instantancirajte klasu MainWindow

Čarobnjak instancira klasu MainWindow i prikazuje je:

...
widget = MyWidget()
widget.show()
...

Pokrenite Qt kod

Na kraju, čarobnjak poziva metodu app.exec() kako bi ušao u Qt glavnu petlju i započeo izvršavanje Qt koda:

...
sys.exit(app.exec())

Pokrenite aplikaciju

Odaberite Trči (Run) za pokretanje aplikacije.

Qt Quick Qt Widgets Vidi također Uvodnik: Qt Quick i Python, Uvodnik: Qt Quick UI i Python i Razvijanje aplikacija za Qt for Python.

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.