Qt走起 - 走进Qt - Qt操作
QT设置窗口背景颜色
setPalette(QPalette(Qt::white));//设置窗口为白色背景

例如:

Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);

setPalette(QPalette(Qt::white));//设置窗口为白色背景
setAutoFillBackground(true);
this->resize(400,400);
}


在实际的应用中,经常需要对某个控件的颜色外观,如背景、前景色等,进行设置。

Qt中提供的调色板QPalette类就是专门用于管理控件的外观显示。QPalette类相当于对话框或控件的调色板,管理着控件和窗体的所有颜色。

每个窗体和控件都包含一个QPalette对象,在显示时,对其做相应的设置即可。

QPalette有两个基本的概念:一个是ColorGroup;一个是ColorRole。



ColorGroup有三种不同的状态:

Active:激活状态(获得焦点状态)

Disabled:禁用状态(未获得焦点状态)

Inactive:未激活状态(不可用状态)
通常情况下:在大多数风格,活跃的和不活跃的看起来一样。


常用的设置颜色方法如下:
(1) void QPalette::setBrush ( ColorRole role, const QBrush & brush )
改变所有组下指定角色role的画刷颜色值。

(2) void QPalette::setBrush ( ColorGroup group, ColorRole role, const QBrush & brush )
改变指定组group下的指定角色role的画刷颜色值。

(3) void QPalette::setColor ( ColorRole role, const QColor & color )
改变所有组下指定角色role的颜色值。

(4) void QPalette::setColor ( ColorGroup group, ColorRole role, const QColor & color )
改变指定组group下指定角色role的颜色值。



注意:在以上代码之前,必须先调用函数 setAutoFillBackground(true),设置窗体运行自动填充。
收藏 列表

评论: