Linux上的Qt 4.8.3 GUI应用程序看起来很旧,而且不';与设计器预览不匹配

Linux上的Qt 4.8.3 GUI应用程序看起来很旧,而且不';与设计器预览不匹配,linux,qt,user-interface,qt4.8,Linux,Qt,User Interface,Qt4.8,我在Fedora17和Ubuntu 12.04上安装了Qt4.8.3和QtCreator 2.5.2。 当我创建GUI应用程序时,Qt Designer预览窗口中的可视元素看起来不错。但是,当我运行应用程序时,生成的应用程序具有与操作系统不一致的旧样式,并且与Qt Designer中的预览不匹配 在下面的两幅图中,顶部是来自Qt Designer的预览,底部是编译后的应用程序 Qt是通过编译位于的源代码安装的 在安装的./configure阶段,选择了“开源”版本 无论应用程序是从操作系统运行

我在Fedora17和Ubuntu 12.04上安装了Qt4.8.3和QtCreator 2.5.2。 当我创建GUI应用程序时,Qt Designer预览窗口中的可视元素看起来不错。但是,当我运行应用程序时,生成的应用程序具有与操作系统不一致的旧样式,并且与Qt Designer中的预览不匹配

在下面的两幅图中,顶部是来自Qt Designer的预览,底部是编译后的应用程序

  • Qt是通过编译位于的源代码安装的
  • 在安装的./configure阶段,选择了“开源”版本
  • 无论应用程序是从操作系统运行还是从IDE启动,都会发生此问题
有没有办法使已编译的GUI应用程序正确显示

软呢帽:

  • 上半部分=Qt设计器预览(需要)
  • 下半部分=结果应用程序

Ubuntu:

  • 上半部分=Qt设计器预览(需要)
  • 下半部分=结果应用程序

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

此外,如果在同一台计算机上同时安装4.8.1和4.8.3,则即使是4.8.1编译的应用程序也不会正确显示: 问题解决了

安装Qt源代码时,说明中忘记了在./configure步骤之前必须安装开发人员库列表。此列表可在此处找到:

此外,由于以下错误,我在编译QtWebkit时遇到问题:

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

要解决此新问题,可以采用以下两种解决方案之一:

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

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

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