在应用程序中,我们有时需要手动改变文字、控件或窗体的颜色,Qt提供的调色板类QPalette,是Qt专门用于管理窗体和控件颜色的类。每一个窗体或控件都包含一个QPalette对象。在显示时,QPalette对象对各部分各状态下的颜色描述进行绘制。本文将用实例讲述QPalette类的用法。
在示例中,我们需要创建颜色下拉列表框,并对窗体、窗体文本、按钮、按钮文本、文本框的颜色进行设置。
1、颜色下拉列表
首先拖入下拉列表控件QComboBox。我们可以通过QColor类获取已知名称的颜色并存到表单容器中,遍历表单并将这些颜色填充到下拉列表中。填充过程其实就是将下拉列表的每个项目的ICon重绘并设置颜色。
void toolbox::fillColorList(QComboBox *combobox){
QStringList m_colorlist = QColor::colorNames(); //获取Qt已知名称的颜色列表
QString m_color;
foreach (m_color, m_colorlist) { //遍历颜色列表