Jen pro zajímavost, zrovna nedávno jsem řešil pozadí dialogu pomocí css - potřeboval jsem roztáhnout svg obrázek podle velikosti okna, ale Qt nepodporuje vlastnost background-size, takže se to dá řešit zápisem:
QDialog {
border-image: url(bg.svg) 0 0 0 0 stretch stretch;
border-width: 0px;
}
Víc jak deset SVG jsem v Qt stylech zatím nepoužíval, takže s výkonem problém nebyl, spíš jsem trochu bojoval s tím, že se obrázek nenačítal kvůli neznámé cestě, nakonec jsem to řešil tak, že v css souboru uvedu "proměnnou", kterou pak po načtení nahradím plnou cestou k obrázku, např.:
QDialog {
border-image: url($PATH/bg.svg) 0 0 0 0 stretch stretch;
border-width: 0px;
}
Ano, po načtení css jsem $PATH nahradil absolutní cestou k adresáři s obrázkama, protože jde o pidiutilitu, mám nějakou podobnou adresářovou strukturu:
myapp
├── main.py
├── res
│ ├── bg.svg
│ ├── img1.svg
│ ├── img2.svg
│ ├── img.svg
│ └── img.svg
└── style.css
a při sestavení cesty vycházím z umístění souboru main.py:
scriptPath = os.path.dirname(os.path.abspath(__file__))
resPath = os.path.join(scriptPath, 'res')
Jestli si dobře vzpomínám, tak relativní cesta k obrázkům (uvedená v css) fungovala, jen když jsem aplikaci spouštěl z adresáře myapp, pokud se spustila odjinud, obrázky se nenačetly.