你的位置:首页 > ASP.net教程

[ASP.net教程]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的背景色一样。