Vlákno názorů k článku Tvorba GUI v Pythonu s PySide: přepínací tlačítka a tvorba hlavních oken aplikací od SonGokussj4 - Excelentní série tutoriálů! Hned u PyQT jsem doufal...

  • Článek je starý, nové názory již nelze přidávat.
  • 19. 12. 2017 8:29

    SonGokussj4 (neregistrovaný)

    Excelentní série tutoriálů! Hned u PyQT jsem doufal a psal, že bych byl rád za PySide a bylo vyslyšeno. Poklona, je to super napsáno. Už se těším, až si to i vše vyzkouším.

    Měl bych jen jeden dotaz. Jak je to s rozdělením věcí a strukturou programu, když se jedná o velký projekt. Prakticky všechny tutorialy na internetu to vždy představí jen v jednom souboru, ale když mám opravdu komplikované GUI, tak to do 1 souboru dávat asi nebudu.

    Bylo by možné udělat nějakou názornou ukázku malého GUI, ale rozděleného a připraveného na rozšíření tak, jako kdyby autor počítal s tím, že se z toho stane např. program typu qBittorrent nebo tak?

    Tento druh abstrakce mi dělá větší problémy, než pochopit jednotlivé mechaniky. Jak to "přehledně rozdělit".

    Díky.

  • 19. 12. 2017 13:09

    Wavelet

    Když jsem dělal s Qt nebo PyQt, tak pomůže naučit se pracovat s designerem. V něm naklikáš view což je XML, podle něho si pak necháš vygenerovat samotnou třídu. Problém mi ale vždy nastal, když se ty komponenty mají propojit mezi sebou, signály a sloty sice jsou celkem jednoduchý na pochopení, ale udělat to spravovatelný není lehký. Někdo zkoušel v QML něco jako redux architekturu známou JS světa, nebo aspoň MVVM.

  • 20. 12. 2017 0:33

    Pavel Tišnovský
    Zlatý podporovatel

    Díky. Zkusím se o tom rozepsat později (resp. udělat ukázkový projekt), ale určitě nemusí být špatné řešení začít s klasickým rozdělením model-view-controller. PySide k tomu sice úplně nevede, ale oddělení logiky programu od dat (modelu) i od GUI celý projekt nakonec zjednoduší, i když to na začátku bude trvat trošku déle, než to "splácat" dohromady.

    U rozdělení do souborů - no někdo používá "Java přístup", tj. co třída, to soubor, ale v Pythonu to nemusí být tak rigidní, takže například dát víc tříd obalujících jednoduché dialogy do jednoho souboru nemusí vadit (ale záleží taky na použitém editoru/IDE). Osobně mi přijde dělení soubor/třída přehlednější, ale popravdě to nedodržujeme ani na našem "profi" projektu... :/