【问题标题】:Qt 4.8.3 GUI application on Linux looks old and doesn't match the designer previewLinux 上的 Qt 4.8.3 GUI 应用程序看起来很旧并且与设计器预览不匹配
【发布时间】:2012-11-02 02:42:43
【问题描述】:

我在 Fedora 17 和 Ubuntu 12.04 上安装了 Qt 4.8.3 和 Qt Creator 2.5.2。 当我创建一个 GUI 应用程序时,视觉元素在 Qt Designer 预览窗口中看起来不错。但是,当我运行应用程序时,生成的应用程序的样式较旧,与操作系统不一致,并且与 Qt Designer 中的预览不匹配。

在下面的两个图像中,顶部是 Qt Designer 的预览,底部是编译后的应用程序。

  • Qt 是通过编译位于http://qt-project.org/downloads 的源代码安装的
  • 在安装的 ./configure 阶段,选择了“开源”版本。
  • 无论应用程序是从操作系统运行还是从 IDE 启动,都会出现此问题

有没有办法让编译好的 GUI 应用程序正常显示?

Fedora:

  • 上半部分 = Qt Designer 预览(需要)
  • 下半部分 = 生成的应用程序

Ubuntu:

  • 上半部分 = Qt Designer 预览(需要)
  • 下半部分 = 生成的应用程序

附录: 这是一个显示 4.8.1 编译应用程序的图像(它应该是什么样子)

另外,如果我在同一台计算机上同时安装 4.8.1 和 4.8.3,即使 4.8.1 编译的应用程序也不会正确显示:

【问题讨论】:

  • 你在你的应用中设置了qt风格吗?或检查系统 qt 样式设置
  • 在以前的 Qt 版本中,如果我希望 GUI 与本机操作系统的样式相匹配,我就不需要设置样式。这个版本有变化吗?
  • @DanielK 不,它没有。我发现如果 qt settings 应用程序(在您的发行版下可能有不同的名称,通常有一对罗盘作为徽标)被弄乱了,可能会出现奇怪的样式问题。如果我在 Gnome 下的系统上没有安装 glabels,我还发现菜单和文本看起来很奇怪。
  • @cmannett85 我找到了您要引用的应用程序:qtconfig 位于Qt-4.8.3/bin。我运行了应用程序,但选择的样式是:“桌面设置(默认)”。在 4.8.1 上是一样的,但在 4.8.1 上它可以正常显示。

标签: linux qt user-interface qt4.8


【解决方案1】:

问题解决了。

在安装 Qt 源代码时,说明忘记提到必须在 ./configure 步骤之前安装开发人员库列表。此列表可在此处找到:http://qt-project.org/wiki/Build_Qt_For_Linux

另外,由于错误,我在编译 QtWebkit 时遇到了问题:

g++:错误:无法识别的命令行选项“-fuse-ld=gold”

要解决这个新问题,可以使用以下两种解决方案之一:

  • 在配置步骤中,使用-no-webkit 选项运行配置:./configure -no-webkit

  • 从文件qt-everywhere.../src/3rdparty/webkit/Source/common.pri 中删除行QMAKE_LFLAGS+=-fuse-ls-gold

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多