1.QPalette的概念
调色板类QPallete提供了颜色角色(color roles)概念,是指当前GUI界面中颜色的职责,通过枚举变量QPalette::ColorRole来定义,
比较常用的颜色角色有:
QPalete::Window,通常指窗口部件的背景色;
QPalette:WindowText,通常指窗口不见的前景色;
QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色.
QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;
QPalette::Button,指按钮窗口部件的背景色;
QPalette::ButtonText,指按钮窗口部件的前景色.
2.QPalette的用法
QTextEdit *textEditTip = new QTextEdit;
QPalette pa = textEditTip->palette(); // 取出调色板
pa.setColor(QPalette::Base,red); // 设置调色板
textEditTip->setPalette(pa); // 放回调色板
3.QPalette的例子
QTextEdit *textEditTip = new QTextEdit;
textEditTip->setMaximumHeight(20);
textEditTip->setText("hello");
QLabel *widget = new QLabel;
widget->setMinimumWidth(200);
widget->setText("world");
widget->setStyleSheet("QLabel { background: red }");
statusBar()->addPermanentWidget(widget);
QPalette pal = widget->palette();
QBrush brush = pal.background();
QColor col = brush.color();
QPalette pa = textEditTip->palette();
pa.setColor(QPalette::Base,col);
textEditTip->setPalette(pa);
statusBar()->addPermanentWidget(textEditTip);
解析: 将textEditTip的背景色设置为和widget的背景色一样。