QPalette类包含了Qt窗口不见的颜色组(collor group); 1.Active组,该组的颜色用户当前活动的(active)窗口,即具有键盘或鼠标焦点的窗口; 2.Inactive组,该组用语其他的窗口; 3.Disabled组,该组用语窗台为不可用的(disabled)的子窗口部件(不包含窗口). 所有Qt窗口部件都拥有一个调色板并使用它绘制自己.通常,活动状态的窗口标题栏为蓝色的,而非活动(inactive)状态的窗口的标题栏显示为灰色的;活动状态的窗口和非活动状态的窗口都可以包含状态为不可用的窗口不见,一个不可用的窗口不见(包括该窗口不见包含的子窗口部件)显示为灰色的,用户是无法同它进行交互的.通过改变窗口不见的调色板的各个组中的颜色,能够改变窗口不见的显示颜色,比如改变背景色,文本颜色等. 可以通过QWidget::palette()获取一个窗口不见的调色板,然后通过QWidget::setPalette()函数为该窗口不见设置修改后的调色板.或通过QApplication::palette()函数获取应用程序的调色板,并通过QApplication::setPalette()为该应用程序设置修改后的调色板.修改一个窗口部件的调色板只会影响到改窗口部件以及资窗口不见(不包含子窗口);而改变一个应用程序的调色板将会影响到该应用程序的所有窗口部件.当对一个窗口不见的调色板已经作了修改后,再对其父窗口部件调色板的修改不会影响到该窗口部件的调色板;同样,对应用程序调色板的修改不会影响已经单独做了调色板修改的窗口部件. 调色板类QPallete提供了颜色角色(color roles)概念,是指当前GUI界面中颜色的职责,通过枚举变量QPalette::ColorRole来定义,比较常用的颜色角色有: QPalete::Window,通常指窗口部件的背景色; QPalette:WindowText,通常指窗口不见的前景色; QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色. QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色; QPalette::Button,指按钮窗口部件的背景色; QPalette::ButtonText,指按钮窗口部件的前景色.
|
例:
QPalette pal = ui->pushButtonCancel->palette();
pal.setColorQPalette::ButtonText,QColor(255,0,0));
ui->pushButton->setPalette(pal);
按钮pushButton的字体颜色为红色