我想写一个小的应用程序,有黑暗的背景。为了让生活更轻松,我使用Qt快速控件。
例如ToolButton。当未按下的工具按钮有一个黑色字体,所以它是不可见的在我的黑色背景。
阅读其他帖子似乎(虽然很难相信),你不能设置文本颜色(或其他颜色的问题)为工具按钮或许多其他Qt快速控件。建议的解决方案是对这些元素和/或样式进行完整的复制/粘贴重新编码。这听起来很像Qt/Digia,很难相信你想要"定制"的第一件事就是颜色(前-后-文本-激活-非激活等等…)。
有没有其他方法可以在整个应用范围内改变这些颜色?在Qt小部件中,我将修改QApplication::QPallette,并在几行内完成。
请帮帮我!
Nils
你真的试过了吗?你从哪里读到这是不可能的?我没有做太多的调色板,但搜索"调色板qt 5.2"给了我SystemPalette作为第二个结果,它从qt 4.7开始就存在了。这些属性是只读的,因此您的意图必须是在c++中设置调色板。
控件/样式的"完整复制/粘贴"是不必要的,即使没有使用SystemPalette
:
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
Rectangle {
width: 400
height: 400
color: "#444"
ToolButton {
text: "Button"
style: ButtonStyle {
label: Text {
color: "red"
text: control.text
}
}
}
}
如果您想重用多个控件的样式,只需创建一个组件,无论是作为属性还是在其自己的QML文件。