我是靠谱客的博主 俏皮眼神,这篇文章主要介绍Qt中的调色板,现在分享给大家,希望可以做个参考。

QPalette 类包含了组件状态的颜色组

QPalette 对象包含了 3 个状态的颜色描述

激活颜色组 (Active)

  • 组件获得焦点使用的颜色搭配方案

非激活颜色组 (Inactive)

  • 组件失去焦点使用的颜色方案

失效颜色组 (Disabled)

  • 组件处于不可用状态使用的颜色方案

QPalette 中的颜色组定义了组细节的颜色值

QPalette::ColorRole 中的常量值用于标识组件细节

理解 Qt 中的调色板

理解:

1. 调色板是存储组件颜色信息的数据结构

2. 组件外观所使用的颜色都定于调色板中

调色板的使用方法 

Qt 中调色板的使用

Widget.h

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Widget : public QWidget { Q_OBJECT private: QLabel m_label; QLineEdit m_edit; QPushButton m_button; protected slots: void onButtonClicked(); public: Widget(QWidget *parent = nullptr); ~Widget(); };

Widget.cpp

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Widget::Widget(QWidget* parent) : QWidget(parent), m_label(this), m_edit(this), m_button(this) { m_label.move(20, 20); m_label.resize(150, 30); m_label.setText("test"); QPalette p = m_label.palette(); p.setColor(QPalette::Active, QPalette::WindowText, Qt::red); p.setColor(QPalette::Inactive, QPalette::WindowText, Qt::red); m_label.setPalette(p); m_edit.move(20, 70); m_edit.resize(150, 30); p = m_edit.palette(); p.setColor(QPalette::Inactive, QPalette::Highlight, Qt::blue); p.setColor(QPalette::Inactive, QPalette::HighlightedText, Qt::white); m_edit.setPalette(p); m_button.move(20, 120); m_button.resize(150, 30); m_button.setText("test"); connect(&m_button, &QPushButton::clicked, this, &Widget::onButtonClicked); } 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() { }

最后

以上就是俏皮眼神最近收集整理的关于Qt中的调色板的全部内容,更多相关Qt中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(91)

评论列表共有 0 条评论

立即
投稿
返回
顶部