Skip to content

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

@czAdamV

Description

@czAdamV

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. :)

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