因此,为了给出一些上下文,我的目标是生成一个二进制文件,它将在任何最近的Linux(但主要是ubuntu)上运行我的Python / PyQt4应用程序,而无需用户安装pyqt4或pyqwt5库。 (如果有人能比下面的方法更好地做到这一点,那也会很好:)
我通过安装ubuntu 8.04虚拟机(bbfreeze生成的代码不能在安装了旧glibc的系统上运行),主要使用bbfreeze,在此vm上编译最新版本的qt,pyqt等并冻结申请。
在ubuntu 8.04上,当我运行我的应用程序时,它使用了一个非常古老的风格,在ubuntu 10.04上它看起来更好。
这本身不是问题,但问题是当我在ubuntu 10.04上运行ubuntu 8.04的bbfreezed代码时,该程序具有与在8.04上运行时相同的UI样式,这在10.04上看起来非常糟糕。
所以我想知道,我如何确保我的冻结代码在所有平台上看起来都很好?我认为bbfreeze必须只包括8.04上使用的ui样式而不是全部,但我不知道如何解决这个问题。
希望这很清楚!
答案 0 :(得分:0)
我找到了解决方案(我想,仍在重新编译qt) - 我刚刚没有在我的ubuntu 8.04上安装QGtkStyle,因为即使你传递-gtkstyle选项qt的configure也会默默地不编译它如果你不' t安装了正确的gtk + dev库。
我现在也使用pyinstaller而不是bbfreeze,但这会同样影响两者。