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
用于设置Qt4应用程序样式的KDE主题_Qt_Qt4_Themes_Kde_Multiplatform - Fatal编程技术网

用于设置Qt4应用程序样式的KDE主题

用于设置Qt4应用程序样式的KDE主题,qt,qt4,themes,kde,multiplatform,Qt,Qt4,Themes,Kde,Multiplatform,kde主题能否用于设计多平台(linux/windows)Qt4应用程序的样式?是,如果您构建/复制所有依赖项。这是不可能的。Qt使用每个平台的本机API来呈现小部件,因此平台特定的主题不能应用于其他平台 由于主题可能是第三方,所以变得更加困难。 < p>如果你在谈论传统的C++ KDE主题(非等离子或INI主题)中使用的QT样式(),那么是的,你可以在某种程度上做到这一点,尽管你可能需要调整/修复一些(或更多)东西,因为它们大多是用KDE主题的目的写的。一个很好的例子是修复或确保跨平台兼容性(

kde主题能否用于设计多平台(linux/windows)Qt4应用程序的样式?

是,如果您构建/复制所有依赖项。

这是不可能的。Qt使用每个平台的本机API来呈现小部件,因此平台特定的主题不能应用于其他平台


由于主题可能是第三方,所以变得更加困难。

< p>如果你在谈论传统的C++ KDE主题(非等离子或INI主题)中使用的QT样式(),那么是的,你可以在某种程度上做到这一点,尽管你可能需要调整/修复一些(或更多)东西,因为它们大多是用KDE主题的目的写的。一个很好的例子是修复或确保跨平台兼容性(主题可能会使用其他特定于平台的库)。还有一个你必须考虑的许可问题,因为大多数主题都在GNU GPL下


如果你说的是,你就不走运了,因为目前KDE不支持任何使用Qt样式表的主题化方式,因此你没有KDE样式表主题可供使用

我正在寻找一个分步的方法:)这是错误的,Qt不像wxWidgets那样使用本机API来呈现小部件,相反,只要有可能,Qt就会像Windows上的uxtheme.dll一样查询本机外观,然后它会尝试尽可能地模拟该外观。因此本质上,Qt仍然绘制小部件本身,但它现在做得很聪明,而且非常好,不会破坏自己绘制所允许的灵活性(Qt样式表或QStyle),如果使用本机小部件api,它会这样做。请看这里的硬证据: