[PyQt] Missing application resources when run in one Linux distro but not another

Damon Lynch damonlynch at gmail.com
Sun Mar 22 16:05:30 GMT 2020


Here is a comparison image between Pop!_OS (top) and Ubuntu 19.10
(bottom). The Pop!_OS instance is based on Ubuntu 19.10. The red
arrows indicate what's missing in the top shot.

On Sun, Mar 22, 2020 at 7:38 AM David Boddie <david at boddie.org.uk> wrote:
>
> On Sun Mar 22 02:15:08 GMT 2020, Damon Lynch wrote:
>
> > My program Rapid Photo Downloader looks awful when running under
> > Pop!_OS because none of its graphical elements appear, such as menu
> > icons etc. It's a usability nightmare because things like the
> > hamburger menu are simply invisible.
>
> Would this be the one in images/menu.svg that gets mapped to :/icons/menu.svg
> in the raphodo/resources.qrc resources file?

Yes, that's it.

>
> > Pop!_OS is based on Ubuntu. The very same debian package works fine
> > under Ubuntu.
> >
> > I assume this is something to do with the Qt theme that Pop!_OS
> > defaults to. What can I do to override its apparent default behavior?
>
> Is it the theme, or is it a problem with SVG rendering? Do any of the PNG
> images in the resources file appear?

Great question! The PNG images do appear.

Your question just now led me to the solution: the package
python3-pyqt5.qtsvg needed to be installed. The problem is a packaging
bug in the Debian package for Rapid Photo Downloader that only shows
up in Pop!_OS because it has different default packages than Debian /
Ubuntu.

Yikes. This may affect other packages too. If you are reading this
Dmitry Shachnev, why does the package python3-pyqt5 not require
python3-pyqt5.qtsvg? I'm not questioning the wisdom of the decision --
I'm just curious why.



-- 
http://www.damonlynch.net


More information about the PyQt mailing list