Qt中的调色板
发布日期:2021-07-01 04:26:10 浏览次数:2 分类:技术文章

本文共 1866 字,大约阅读时间需要 6 分钟。

文章目录

1 Qt中的调色板

QPalette类包含了组件状态的颜色组,主要包含3个状态的颜色描述:

  • 激活颜色组(Active):组件获得焦点使用的颜色搭配方案。
  • 非激活颜色组(Inactive):组件失去焦点使用的颜色方案。
  • 失效颜色组(Disabled):组件处于不可用状态使用的颜色方案。

QPalette中的颜色组定义了组细节的颜色值,QPalette::ColorRole中的常量值用于标识组件细节。

在这里插入图片描述
理解Qt中的调色板:
在这里插入图片描述
调色板的使用方式:
在这里插入图片描述
编程实验:Qt中调色板的使用
Widget.h:

#ifndef WIDGET_H#define WIDGET_H#include 
#include
#include
#include
class Widget : public QWidget{
Q_OBJECT QPushButton m_button; QLineEdit m_edit; QLabel m_label;protected slots: void onButtonClicked();public: Widget(QWidget *parent = 0); ~Widget();};#endif // WIDGET_H

Widget.cpp:

#include "Widget.h"#include 
Widget::Widget(QWidget *parent) : QWidget(parent), m_button(this), m_edit(this), m_label(this){
m_label.move(10, 10); m_label.resize(150, 25); m_label.setText("Test"); m_edit.move(10, 45); m_edit.resize(150, 25); m_button.move(10, 80); m_button.resize(150, 25); m_button.setText("Test"); connect(&m_button, SIGNAL(clicked()), this, SLOT(onButtonClicked())); QPalette p = m_button.palette(); p.setColor(QPalette::Active, QPalette::ButtonText, Qt::red); p.setColor(QPalette::Inactive, QPalette::ButtonText, Qt::red); m_button.setPalette(p); p = m_edit.palette(); p.setColor(QPalette::Inactive, QPalette::Highlight, Qt::blue); p.setColor(QPalette::Inactive, QPalette::HighlightedText, Qt::white); m_edit.setPalette(p);}void Widget::onButtonClicked(){
QPalette p = m_label.palette(); p.setColor(QPalette::Active, QPalette::WindowText, Qt::green); p.setColor(QPalette::Inactive, QPalette::WindowText, Qt::green); m_label.setPalette(p);}Widget::~Widget(){
}

main.cpp:

#include 
#include "Widget.h"int main(int argc, char *argv[]){
QApplication a(argc, argv); Widget w; w.show(); return a.exec();}

参考资料:

转载地址:https://muzimin.blog.csdn.net/article/details/105047072 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:事件控制块的清空与状态查询
下一篇:Qt中的QRadioButton

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月09日 03时05分21秒