相关疑难解决方法(0)

Qt GUI主题看起来很老套

当我自己从源代码交叉编译Qt 5.8.0并使用它来构建Qt Widgets for Microsoft Windows 的Qt"动态布局"示例时,它看起来过时了,好像它在Windows 2000上运行一样,如图所示左下方的窗口.不过,如果我使用预建的MinGW-W64-x86_64的-QT5静电包装从编译完全相同的程序(5.8.0-1版)MSYS2,它看起来像一个漂亮现代的Windows应用程序,如在右边的窗口下面.如何修复我的Qt版本,以便用它构建的GUI看起来不错?是否有我缺少的配置选项?

左:我编译的Qt. 右:Qt由MSYS2项目编译

要研究的是QWindowsVistaStyle课程.我注意到当我在MSYS2中编译我的程序时,我不得不添加,-luxtheme因为该类引用了一些函数,比如GetThemeColor.这些功能仅适用于Windows Vista及更高版本.当我在Linux上使用我自己的Qt进行交叉编译时,我不需要那个库,所以也许这个类在我的构建中被禁用了.

交叉编译的Qt构建细节

我使用我的nixcrpkgs存储库的commit f51d834构建了交叉编译的Qt和看起来很旧的动态布局示例.如果查看该提交中的代码,它将向您显示运行构建mingw-w64交叉编译器的命令,并构建Qt,并构建Qt示例,包括动态布局.如果您安装Nix,下载nixcrkpkgs,然后nix-build -A pkgs.i686-w64-mingw32.qt.base-examples在nixcrpkgs目录中运行,您可以自己构建它.您可以在该提交中查看我的Qt包的构建配方.

MSYS2构建细节

我在MSYS2中的MINGW64 shell中运行此脚本来构建示例并获得了良好的结果.它依赖于MSYS2的mingw-w64-x86_64-qt5-static软件包.您可以看到该构建配方.

c++ qt themes qt5 msys2

14
推荐指数
3
解决办法
6019
查看次数

标签 统计

c++ ×1

msys2 ×1

qt ×1

qt5 ×1

themes ×1