QPalette的用法

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的背景色一样。

原文地址:https://www.cnblogs.com/toby-zhang/p/5870899.html