Skip to content

Tutorial for using Python with Qt, specially with QtQuick and PySide2 libraries

License

Notifications You must be signed in to change notification settings

xtompok/PySide6_QML_tutorial

Repository files navigation

PySide2 QML tutorial

Tutorial for using Python with Qt, specially with QtQuick 2 and PySide2/PySide6 libraries.

About (EN)

The text is in czech due to primarily targeting Czech students. Source code and comments is in english. Feel free to ask me if you can't understand any part. Translations, comments and contributions are welcome.

O tomto návodu

Tutoriál pro používání Qt Quick v Pythonu pomocí PySide2/PySide6, primárně zaměřen na studenty a zájemce o geografii. Pomocné texty jsou v češtině, zdrojové kódy a komentáře v nich jsou anglicky. Pokud by něco nebylo jasné, dejte mi vědět. Pokud byste chtěli pomocné texty přeložit do angličtiny nebo měli jiné náměty či připomínky, jsou vítány. Tento tutoriál vzniká převážně proto, že jsem nenašel jiný (anglický / český), který pokrývá používání Qt Quick a Pythonu více než povrchně. Pokud o nějakém takovém víte, dejte mi prosím vědět.

Aby kód zbytečně nebobtnal, jsou nové věci komentovány vždy v tom díle, kde jsou představeny. V dalších dílech jsou již komentovány jen stručně, pokud vám není něco jasné, zkuste se podívat do předchozích dílů.

Uživatelské rozhraní (QML soubor) se obvykle vyskytuje ve dvou variantách - view.qml obsahující jen nezbytně nutné prvky a view_rich.qml graficky propracovanější, ukazující možnosti přizpůsobení grafického rozhraní. Mezi rozhraními se přepíná ve zdrojovém kódu přepsáním VIEW_PATH.

Pokud nějaký pojem nemá český ustálený ekvivalent, budu používat původní anglické názvy, text tedy může někdy vypadat poněkud krkolomně.

Doporučený SW

Pro Python doporučuji Visual Studio Code nebo jiný editor s doplňováním syntaxe, pro editaci QML pak Qt Creator (součástí balíku Qt). QML lze psát i ve Visual Studio Code, ale narozdíl od QtCreatoru nenabízí vizuální editor, kde se změny ihned projeví. Pro základní rozhraní není Qt Creator nutný.

Příklady jsou testovány na Python 3.9. Qt je používáno ve verzi 6.2.3, tam kde není daná třída dostupná, používá se 5.15, ale pravděpodobně budou, alespoň úvodní příklady fungovat i se staršími verzemi.

Spouštění příkladů

Nejlépe ve složce příkladu vytvořit virtualenv s PySide2. Příklady budou mít v budoucnu requirements.txt.

Díly (budou postupně přibývat)

  1. Instalace a nastavení
  2. První program
  3. Klikni na tlačítko
    • binding proměnných
    • reakce na stisk tlačítka
  4. Převod DMS na stupně a zpět
    • koncept model a view
    • obousměrná synchronizace mezi modelem a GUI
  5. Seznam měst
    • model, view, delegate
    • abstraktní třídy
    • fokus - úvod
  6. Mapa měst
    • Map View
    • property v QML
  7. TODO list
    • přidávání / ubírání prvků modelu za běhu
  8. Odpočet
    • paralelismus
    • časovač
    • popup
  9. Mapa vozidel MHD
    • stahování dat z internetu
    • doprovodný text zatím chybí

Zdroje

About

Tutorial for using Python with Qt, specially with QtQuick and PySide2 libraries

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published