有没有人在 Qt 中构建自定义样式的经验?我的想法是一种影响所有类型小部件的全新样式。我在网上看到了一些自定义组合框的示例。但我不知道构建一个“完整”的新自定义样式需要多少时间和代码......也许有人可以给我一个提示。
我们考虑使用 Qt 4.3(甚至更高版本)...
查看 Qt 4 中的Stylesheets工具。虽然它仍然很麻烦,但它比做一个完整的自定义样式要容易得多。您可以一次只调整一个视觉方面并尝试一下。
它注重继承。因此,如果您在 QWidget 中设置字体样式,那么每个可视小部件也将使用该字体。等等。
我开发了一种“新”样式,它改变了大部分应用程序的外观。这确实需要一些时间,并且进行了相当多的实验。我还从通用的 windows 样式中导出了我的样式,以允许它处理一些我不想弄乱的东西。总而言之,我想我花了一周的时间才得到了我想要的大部分东西,而且之前几乎没有接触过这些款式。
为了实际开发一个,我会进入他们的样式示例的源代码,它具有“木头”样式。我用我自己的样式代替了示例样式,并在使用示例程序检查它的外观时开始进行更改。根据您的开发方式,您可能需要一个配置文件,以便您可以轻松更改某些值而无需重新编译。
我们过去曾做过(在 Qt 3 中),而且非常耗时。我们遇到了很多闪烁问题,重绘没有按照我们预期的方式工作,行为缓慢,Qt 实现中的错误。它不像看起来那么简单,而且几乎没有支持或用户体验。除非您需要一些非常特别的东西(就像我们所做的那样),否则我会说这不值得麻烦。
其他框架应该使它更容易(一些基于 Java 的?),但我没有第一手经验。
您可能想查看现有样式。您可以在 kde-look.org 的Styles / 4.0 部分找到其中不少。
如果您不需要从根本上更改小部件样式,您可能想尝试使用小部件样式表:
http://doc.qt.digia.com/4.4/stylesheet.html