QT编程时如何使按钮的颜色发生变化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT编程时如何使按钮的颜色发生变化相关的知识,希望对你有一定的参考价值。

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,指按钮窗口部件的前景色.
参考技术A

如果你想知道的是用什么函数的话,用

void QWidget::setPaletteBackgroundColor ( const QColor & );

参考技术B void QWidget::setPaletteBackgroundColor ( const QColor & )本回答被提问者采纳

以上是关于QT编程时如何使按钮的颜色发生变化的主要内容,如果未能解决你的问题,请参考以下文章

想问一下大家,现在QT界面编程中怎么把界面做的好看一点?就比如这个界面,这些按钮的效果是用的啥技术

QT怎么设置控件在窗口大小发生变化的时候,使控件始终居于右上角

qt编程: 怎样禁用窗口右上角的x(使变为灰色,不可点击)?

使用 QT 设计器创建的新插槽的代码在哪里?

如何捕捉和处理 QWebEnginePage 内容变化?

C++框架编程Qt 的 信号与槽 简单了解!