自定义Qt样式

5

有人在Qt中构建自定义样式方面有经验吗?我想要的是一个完全新的样式,可以影响所有类型的小部件。我在网上看到了一些自定义组合框的例子。但我不知道构建一个“完整”的自定义样式需要多少时间和代码……也许有人可以给我一些提示。

我们考虑使用Qt 4.3(甚至更高版本)...

5个回答

7

请查看Qt 4中的样式表功能。虽然仍然有些麻烦,但比完全自定义样式要容易得多。您可以只调整一个视觉方面并尝试它。

它注意继承。因此,如果您在QWidget中设置字体样式,则每个可视化小部件也将使用该字体样式。以此类推。


嗨,Colin,你已经开始使用Qt 4开发新风格了吗?你能给我一个提示需要多长时间吗? - Thomas Koschel
样式表很麻烦?荒谬! - Anti Earth
1
反地球:Qt 中的样式表存在漏洞,常常会产生意外的结果。不过仍然比编写整个样式要容易得多。 - Colin Jensen

3
我开发了一种“新”的样式,改变了应用程序的许多外观。这确实需要一些时间和大量的试验。我还从通用的Windows样式中派生出我的样式,以便处理一些我不想弄乱的东西。总的来说,我认为我花了一周的时间得到了我想要的大部分内容,几乎没有先前接触过样式。
要实际开发一个样式,我会进入它们样式示例的源代码中,其中有一个“木”样式。我将自己的样式放在示例样式的位置,并在使用示例程序检查其外观时开始更改一些内容。根据您的开发方式,您可能希望拥有配置文件,以便您可以轻松地更改一些值而无需重新编译。

1

你可能想要查看现有的样式。你可以在kde-look.org上找到相当多的样式,在Styles / 4.0 section中。


1

我们曾经在过去(Qt 3中)这样做过,但这非常费时。我们遇到了许多闪烁、重绘不按预期工作、行为迟缓、Qt实现中的错误等问题。它比看起来要复杂得多,而且支持或用户体验也很少。除非你需要一些真正特别的东西(就像我们所需要的那样),否则我认为这不值得麻烦。

其他框架应该会使其更容易(一些基于Java的?),但我没有第一手经验。


0
如果您不需要彻底改变小部件的样式,您可以尝试使用小部件样式表:
         http://doc.qt.digia.com/4.4/stylesheet.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接