使用Qt自定义样式
时间:2020-03-05 18:54:30 来源:igfitidea点击:
有没有在Qt中构建自定义样式的经验?我想到的是一种会影响所有小部件的全新样式。我在网上看到了一些自定义组合框的示例。但是我不知道要花多少时间和代码来构建"完整的"新自定义样式……也许有人可以给我一个提示。
我们考虑使用Qt 4.3(或者更高版本)...
解决方案
回答
我们过去(在Qt 3中)已经做到了,这非常耗时。我们在闪烁方面遇到很多问题,重绘无法按预期方式运行,行为缓慢,Qt实现中存在错误。它比看起来简单得多,并且也几乎没有支持或者用户体验。除非我们需要真正特别的东西(就像我们所做的那样),否则我认为这是不值得的。
应该使用其他框架来简化它(某些基于Java的框架?),但是我没有亲身经验。
回答
查看Qt 4中的Stylesheets工具。虽然仍然很麻烦,但是比起完整的自定义样式要容易得多。我们一次只能调整一个视觉方面,然后尝试一下。
它注意继承。因此,如果我们在QWidget中设置字体样式,则每个可视控件都将使用该字体。等等。
回答
我们可能需要查看现有样式。在kde-look.org的"样式/4.0"部分中,我们可以找到很多。
回答
我开发了一种"新"样式,该样式改变了许多应用程序的外观。确实花费了一些时间,并且进行了大量的实验。我还从通用Windows样式派生了我的样式,以使其能够处理一些我不想弄乱的东西。总而言之,我认为花了我一周的时间才能得到我想要的大部分东西,而实际上并没有接触过这些样式。
为了实际开发一个,我将参考其样式示例的源代码,该示例具有"木"样式。我将自己的样式替换为示例样式,并在使用示例程序检查外观时开始进行更改。根据我们开发它的方式,我们可能需要一个配置文件,以便可以轻松更改某些值而无需重新编译。
回答
如果我们不需要彻底更改小部件样式,则可以尝试使用小部件样式表:
http://doc.qt.digia.com/4.4/stylesheet.html