Qt编程18:Qt调色板QPalette的使用
QPalette类有两个枚举类型,
枚举
1、ColorGroup
CorGroup指的是3中不同的状态(什么时候设置颜色):
1>Active:获得焦点的状态。
2>Inactive:未获得焦点的状态。
3>Disable:不可用状态。
通常情况下。Active状态与Inactive状态下颜色显示是一致的。当然也可依据须要设置成不一样的颜色
2、ColorRole(设置什么颜色)。
ColorRole指的是颜色主题。即对窗口中不同部位颜色的分类,如QPalette::Window是指背景色,QPalette::WindowText指的是前景色等。
经常使用:
QPalete::Window, 通常指窗体部件的背景色;
QPalette:WindowText,通常指窗体不见的前景色(QLabel也能够使用);
QPalette::Base,指文本输入窗体部件(比方QTextEdit,QLinedit,QPlainTextEdit等)的背景色
QPalette::Text,与QPalette::Base一块使用,指文本输入窗体部件的前景色;
QPalette::Button,指button窗体部件的背景色;
QPalette::ButtonText,指button窗体部件的前景色
QPalette::Highlight:用于设置文字高亮时的背景颜色
QPalette::HighlightedText:用于设置文字高亮时的颜色
QPalette::Link:超链接文字颜色
QPalette::LinkVisted:超链接文字訪问后的颜色
(眼下使用的非常少,可是能够直接拿来用)由于,带有默认色
QPalette::Light:比Button的亮
QPalette::Midlight:亮度在Light与Button之间
QPalette::Dark:
QPalette::Mid
QPalette::Shadow
比如:
//设置能够自己主动填充背景色
ui->label->setAutoFillBackground(true);
//设置背景色为Palette::Shadow
ui->label->setBackgroundRole(QPalette::Shadow); ui->label2->setAutoFillBackground(true);
ui->label2->setBackgroundRole(QPalette::Light)
显示效果:
//----------------------------------------------------------------------------------------------------------------设置颜色的方法:
QPalette::setColor()针对某个ColoRole设置颜色
QPalette::setBrush()针对某个ColoRole设置颜色。能够设置图片
注意:在设置背景色的时候,首先调用setAutoFillBackGround(true)。
button使用调色板
//对button使用palette----------
//设置button字体
ui->toolBt->setFont(QFont("宋体",20,QFont::Bold));
ui->toolBt->setAutoRaise(true);
ui->toolBt->setAutoFillBackground(true);
QPalette pl = ui->toolBt->palette(); //设置button文字颜色
pl.setColor(QPalette::ButtonText,QColor(Qt::red));
//使用setBrush设置图片
pl.setBrush(QPalette::Button,QBrush(QPixmap(":/new/resources/otherPage/tap_bg.png")));
ui->toolBt->setPalette(pl);
效果:
QTextBrowser或QTextEdit使用调色板(文字编辑框)
//设置部件文字属性
ui->plainTextEdit->setFont(QFont("宋体",20,QFont::Bold)); //有效果
ui->textBrowser->setFont(QFont("宋体",20,QFont::Bold)); //没有效果(QTextBrowser带有文字编辑功能)
QFont font = ui->textBrowser->font();
font.setCapitalization(QFont::AllUppercase);
ui->textBrowser->setFont(font); //有效果 //构造QPalette对象
QPalette p2;
//设置文本编辑框的背景色
p2.setColor(QPalette::Base,QColor(Qt::gray));
//设置文本编辑框文字的颜色
p2.setColor(QPalette::Text,QColor(Qt::red));
//设置文本编辑框高亮时的文字背景颜色(Active)
p2.setColor(QPalette::Active,QPalette::Highlight,QColor(Qt::white));
//设置文本编辑框高亮时文字的颜色(Active)
p2.setColor(QPalette::Active,QPalette::HighlightedText,QColor(Qt::blue)); //为保持文本状态一致(好看一些),在丢失焦点的时候设置颜色
p2.setColor(QPalette::Inactive,QPalette::Highlight,QColor(Qt::gray));
p2.setColor(QPalette::Inactive,QPalette::HighlightedText,QColor(Qt::red)); //将焦点应用到控件
ui->plainTextEdit->setPalette(p2);
ui->textBrowser->setPalette(p2);
实现效果:
Qt编程18:Qt调色板QPalette的使用的更多相关文章
- 【Qt编程】Qt学习笔记<三>
1. 如果程序中使用了png以外格式的图片,在发布程序时就要将Qt安装目录下plugins中的imagineformats文件复制到发布文件中. 2. 在函数声明处快速添加函数定义 ...
- 【Qt编程】Qt学习之窗口间的相互切换
在用Qt设计GUI时,经常要设计两个窗口之间的相互切换,即可以从一个窗口跳转到另一个窗口,然后又从另一个窗口跳转回原窗口.下面我们来介绍具体的实现方法: 工程建立及功能描述: 首先,我们建立Qt G ...
- 【Qt编程】Qt学习之Window and Dialog Widgets
Qt Creator 提供的默认基类只要QMainWindow.QWidget和QDialog三种.其中,QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框的基类,这两个 ...
- 【Qt编程】Qt学习笔记<一>
1. 在创建项目时,项目名和路径中都不能出现中文. 2. 可以使用Ctrl + "+"和Ctrl + "-"来改变程序的字体大小(Ctrl+ ...
- 【Qt编程】Qt学习之状态栏
QStatusBar类提供一个水平条来显示状态信息.所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面.字数等等信息.状态信息可以分为三类:临时信息,如一般的提示信息:正常信 ...
- 【Qt编程】Qt 小时钟
Hello World! 学习编程语言的最简单最经典的小程序,当然Qt也不例外.在学习画图时,我觉得写个时钟小程序也是个比较好的开始.在之前的<Matlab及Java小时>一文中,我也从写 ...
- 【Qt编程】Qt学习笔记<二>
1. QApplication类和QWidget类都包含在QtGui模块中.所以我们可以只包含这个头文件即可. 2. 在c++中,用new分配了内存空间就需要用delete来释放空 ...
- 【Qt编程】Qt版扫雷
学习要学会举一反三.在以前的<用matlab扫扫雷>一文中,我用matlab简单的编写了一个扫雷小程序.当然,与Windows自带的扫雷程序自然是不敢相提并论.今天我就用c++来写个扫雷程 ...
- 〖Qt编程〗Qt编程中的各种数据类型的相互转换
char * 与 const char *的转换 char *ch1=”hello11″; const char *ch2=”hello22″; ch2 = ch1;//不报错,但有警告 ch1 = ...
随机推荐
- TCP/IP详解学习笔记(7)-广播和多播,IGMP协议
1.单播,多播,广播的介绍 1.1.单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说 ...
- [Everyday Mathematics]20150128
求极限 $$\bex \lim_{x\to 0}\sex{\frac{e^x+e^{2x}+\cdots+e^{nx}}{n}}^\frac{1}{x}. \eex$$
- Most Powerful(ZOJ 3471状压dp)
题意:n个原子,两两相撞其中一个消失,产生能量,给出任意两原子相撞能产生的能量,求能产生的最大能量. 分析:dp[i]表示情况为i时产生的最大能量 /*#include <map> #in ...
- Javascript手记-基本类型和引用类型
1:ecmascript包含2中不同的数据类型,基本数值类型和引用数值类型.基本数据类型是简单的数据段,引用类型是指那些可能由多个值构成的对象. 1.1:常用的基本类型:Undefined,Null, ...
- poj1001 Exponentiation
Description Problems involving the computation of exact values of very large magnitude and precision ...
- 由浅入深探究mysql索引结构原理、性能分析与优化
摘要: 第一部分:基础知识 第二部分:MYISAM和INNODB索引结构 1.简单介绍B-tree B+ tree树 2.MyisAM索引结构 3.Annode索引结构 4.MyisAM索引与Inno ...
- Spark SQL概念学习系列之Spark生态之Spark SQL(七)
具体,见
- Hibernate配置文件——hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuratio ...
- 通过一次实验来了解HTML5的 Web Worker
web worker 是运行在后台的 JavaScript,不会影响页面的性能. 当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成. web worker 是运行在后台的 Ja ...
- jQuery基础学习3——jQuery库冲突
默认情况下,jQuery用$作为自身的快捷方式. jQuery库在其他库之后导入 在其他库和jQuery库都被加载完毕后,可以在任何时候调用jQuery.noConflict()函数来将变量$的控制权 ...