一气呵成地改变颜色或工具尖端

时间:2016-08-23 11:19:49

标签: qt qt5

我使用Qt设计器创建了一个大型项目,该项目具有.ui,.cpp,.h文件。 现在我想一次性或一些简单的方法为所有.ui文件的按钮添加颜色和工具提示,因为它非常难以通过所有.ui文件并改变每个按钮的颜色。 无论如何我能做到吗? 如果您不确定可以分享您的想法。 请。

2 个答案:

答案 0 :(得分:2)

您可以尝试使用Qt Style Sheets在整个应用中自定义小部件。例如,要为应用程序中的所有QPushButtons设置背景颜色,请添加以下代码:

qApp->setStyleSheet("QPushButton { background-color: yellow }");

Qt Style Sheets Reference

答案 1 :(得分:0)

一种方法是使用合适的编辑器“查找和替换文件”,或者 sed / perl / awk 如果您更喜欢命令行。在.ui文件上使用它(它们是XML)。首先找出找到合适位置的搜索,然后进行替换。如果你只需要替换一个特定的字符串(定义颜色),那么你甚至不需要regexp。

警告:.ui文件实际上不是手工编辑的。因此,破解它们相当容易,因此Designer无法再对它们进行操作。但是这里没有什么神奇之处,它们只是可以编辑的文本文件,Designer只是期望它们完全像它想要的那样,并且不允许通常通过手动编辑引入的错误。只要确保只更改颜色值字符串而没有其他内容,并且有一个未经编辑的备份(即版本控制),你应该没问题。

请注意,Qt Creator拒绝将.ui文件编辑为文本,因为它们很容易通过手动编辑来破解,因此您可能想要使用其他编辑器(Notepad ++是一种常见的免费Windows替代方案)。

但是,我建议先尝试使用样式表,如另一个答案所述。只有当证明这是不切实际的,那么你应该考虑这个选择。样式表的最大好处是,如果你需要进行另一次更改,那么它的工作要少于另一次搜索替换。