1.QPalette的概念 調色板類QPallete提供了顏色角色(color roles)概念,是指當前GUI界面中顏色的職責,通過枚舉變數QPalette::ColorRole來定義, 比較常用的顏色角色有: QPalete::Window,通常指視窗部件的背景色; QPalette:Windo ...
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的背景色一樣。