代码之家  ›  专栏  ›  技术社区  ›  Jords

在bbfreeze中使用PyQt4-使用了错误的ui样式

  •  0
  • Jords  · 技术社区  · 15 年前

    因此,我的目标是生成一个二进制文件,它将在任何最新的linux(但主要是ubuntu)上运行Python/PyQt4应用程序,而不需要用户安装PyQt4或pyqwt5库。(如果有人能给出比我下面的方法更好的方法,那也太好了:)

    我在bbfreeze上主要是通过安装一个ubuntu8.04虚拟机(bbfreeze产生的代码不会在一个安装了旧glibc的系统上运行),在这个vm上编译qt,pyqt等的最新版本,并冻结这个vm上的应用程序。

    在ubuntu8.04上,当运行我的应用程序时,它使用了一种非常旧的样式,而在ubuntu10.04上,它看起来更好。

    这本身不是一个问题,但问题是,当我在ubuntu 10.04上运行ubuntu8.04的bbfreezed代码时,程序的UI风格与在8.04上运行时相同,在10.04上看起来非常糟糕。

    所以我想知道,如何确保我的冻结代码在所有平台上都看起来不错?我认为bbfreeze必须只包含8.04上使用的ui样式,而不是全部,但我不知道如何解决这个问题。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Jords    15 年前

    我找到了解决方案(我认为,仍然在重新编译qt)-我只是没有在我的ubuntu8.04上安装QGtkStyle,因为即使您传递-gtkstyle选项,如果您没有安装正确的gtk+dev库,qt的configure也不会自动编译它。

    我现在也在使用pyinstaller而不是bbfreeze,但这会对两者产生同等的影响。