Using PyQt4 with bbfreeze - wrong ui style used

亡梦爱人 提交于 2020-01-06 06:52:36

问题


So to give a little context, my goal here is to produce a binary which will run my Python/PyQt4 application on any recent linux (but mainly ubuntu), without requiring the user to install the pyqt4 or pyqwt5 library. (If anyone can give a better way to do that than my method below, that would be great also :)

I've got this mostly working with bbfreeze by installing an ubuntu 8.04 virtual machine (the resulting code from bbfreeze will not run on a system with an older glibc installation), compiling the latest versions of qt, pyqt etc on this vm and freezing the application on that.

On ubuntu 8.04, when running my application it uses a very old-looking style, where on ubuntu 10.04 it looks much nicer.

That in itself isn't an issue, but the problem is that when I run the bbfreezed code from ubuntu 8.04 on ubuntu 10.04, the program has the same UI style as when running on 8.04, which looks really bad on 10.04.

So I'm wondering, how do I make sure that my frozen code will look good on all platforms? I think that bbfreeze must be only including the ui style used on 8.04 rather than all of them, but I'm not sure how to resolve this.

Hopefully this is clear enough!


回答1:


I found the solution (I think, still recompiling qt) - I just didn't have the QGtkStyle installed on my ubuntu 8.04, since even if you pass the -gtkstyle option qt's configure will silently not compile it if you don't have the correct gtk+ dev libraries installed.

I'm also using pyinstaller rather than bbfreeze now,but this would have affected both equally.



来源:https://stackoverflow.com/questions/3690383/using-pyqt4-with-bbfreeze-wrong-ui-style-used

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!