Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Windows风格在Linux中编译Qt应用程序?_Qt_Styles_Uiappearance - Fatal编程技术网

如何使用Windows风格在Linux中编译Qt应用程序?

如何使用Windows风格在Linux中编译Qt应用程序?,qt,styles,uiappearance,Qt,Styles,Uiappearance,我正在开发一个QtWidgets应用程序,由于编译性能问题,我开始在LinuxUbuntu而不是Windows中开发它。问题在于,在编译和运行时,应用程序显示为传统的Ubuntu风格,而不是Windows(7)风格。由于该应用程序仅适用于Windows,我想知道如何在Linux Ubuntu中编译它,但要使它以Windows风格出现 我尝试使用QApplication::setStyle(QStyleFactory::create(“qwindowstyle”)在main.cpp中,未成功。我猜

我正在开发一个QtWidgets应用程序,由于编译性能问题,我开始在LinuxUbuntu而不是Windows中开发它。问题在于,在编译和运行时,应用程序显示为传统的Ubuntu风格,而不是Windows(7)风格。由于该应用程序仅适用于Windows,我想知道如何在Linux Ubuntu中编译它,但要使它以Windows风格出现


我尝试使用
QApplication::setStyle(QStyleFactory::create(“qwindowstyle”)在main.cpp中,未成功。我猜QtAssistant文档只是不太清楚我如何做这个更改。任何帮助都将不胜感激

您是否可能正在使用未使用该样式编译的Qt包?能否尝试运行以验证样式是否存在?

首先签出
QStyleFactory::keys()的put

然后通过调用来设置外观

qApp->setStyle("Windows");
此命令将为您提供windows 98外观。如果希望windows vista外观,则应使用
样式的windows vista配置qt源,并重新生成所有源


更新
根据qt,样式不是独立于平台的。因此,在非windows平台中不可能有这种本机外观。值得一提的是,在windows中也需要windows SDK来构建Qt源代码,否则您的应用程序将看起来像windows 7中的windows 98。

这是不可能的,因为样式的元素是由windows(或OS X)呈现的,而不是由Qt呈现的。Qt风格的实现要求OS库提供这些元素的位图。如果愿意,可以修改样式,将磁盘缓存用于静态项。然后可以在所有平台上使用该样式。问题是这些操作系统提供的位图是操作系统的一部分,因此不可再分发


在Qt3时代,唯一一种特定于plastform的样式是旧的Windows95样式,至少以前在任何地方都可用。我不确定它的当前状态。

谢谢你的回复。运行上面提到的功能,我得到了3个选项,其中一个是“Windows”。不幸的是,在使用了这个版本之后,我得到了一个奇怪的、类似于Windows 98的外观,这肯定不是我想要的:)因此,Qt for Linux(我使用的是最新版本)可能没有Windows 7风格。你知道我该如何避免这种情况吗?@Momergil我不是Linux软件包配置方面的专家,但有一种选择肯定是从源代码处重新编译Qt。这些样式通常依赖于相关平台上的本机代码,因此除了Windows之外,你可能无法使用Windows样式。例如,除了OSX之外,你绝对不能在任何东西上使用MacOSX风格。谢谢你的回复。当我在Windows和Linux中安装Qt时,我永远不必“配置”任何东西;我只是下载安装程序,选择所需的包并安装它。“配置qt源代码”似乎不适用于这种情况,对吗?那么,如果我想通过建议的修改“重建所有源代码”,您能否提供一个链接或解释,说明我将如何进行?@Momergil在安装Qt时,有一个选项可以安装所有源代码。您可以在以下目录中找到它们:QTDIR/QT_VERSION/Src/。在此目录中,您将找到configure file和qt.pro。然后使用配置源。只需在该页面内搜索
-qt style-
。对于建筑,请使用此链接