Skip to content

Zmínit něco o verzích PyQT v materiálech na pokročilý Python #577

Description

@konekohana

Při replikaci postupu ze cvičení na PyQT jsem se setkal se zajímavým problémem: u všech tiles vykreslovaných metodou QSvgRenderer.render byla špatně pozice, všechny jako by byly posunuté na souřadnice x/2, y/2 (pokud jsem je chtěl vykreslit na souřadnicích x, y). Zejména to bylo vidět, když jsem zkombinoval dva kroky cvičení dohromady: nechal jsem starou mapu zobrazovanou pomocí QPainter.fillRect, a nad to jsem vykreslil SVG verzi. Správně by SVG grass tile měla kompletně překrýt všechny barvy, ale to se nestalo, vše vykreslované z SVG bylo posunuté směrem do levého horního rohu. Po nějakém debugování se mi podařilo přijít na to, že problém pocházel někde z nesedících verzí Qt a PyQT: na mém systému jsem měl Qt verze 5.13.2, ale PyQT na pypi bylo již ve verzi 5.14. V momentě, kdy jsem explicitně vynutil instalaci PyQt5==5.13.2, tak vše začalo fungovat, a se zbytkem cvičení již nebyl problém.

Bohužel se mi nepodařilo odhalit přesnou příčinu problému, s Qt nemám prakticky žádné zkušenosti, při debugování jsem dost tápal, a po odhalení problému s verzemi se mi již nechtělo tomu dávat víc času. Napadlo mě ale alespoň, že by do materiálů bylo vhodné přidat nějakou zmínku o potenciálních problémech plynoucích z nesedících verzí. Pokud se někomu v budoucnu při tomto cviku budou dít nějaké těžko vysvětlitelné problémy, alespoň je nějaká šance, že si tohle uvědomí dřív a nebude muset problém nijak dlouho hledat. :)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions