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 = ...
随机推荐
- AWK print学习
Awk是一种处理结构数据并输出格式化结果的编程语言, Awk 是其作者 "Aho,Weinberger,Kernighan" 的简称. Awk通常被用来进行格式扫描和处理.通过扫描 ...
- Linux系统性能监控
系统的性能指标主要包括CPU.内存.磁盘I/O.网络几个方面. 1. CPU性能 (1)利用vmstat命令监控系统CPU 该命令可以显示关于系统各种资源之间相关性能的简要信息,这里我们主要用它来看C ...
- C# delegate 学习 (练这么久终于悟出来点东东了,继续加油! ^_^)
前言 从事开发工作两年有余了,但还是对Delegate,Event神马的看见就头疼,文章看过无数,自己也练习过好多遍,但到用的时候或者人家换了一种形式之后就又不懂了,哎~智商捉急啊!! 但是,这两天的 ...
- FOJ 1858 Super Girl 单调队列
http://acm.fzu.edu.cn/problem.php?pid=1858 一个数组中 找两对元素,第一对元素和最大,第二对元素和最小,限制:一对元素中两个元素的距离在原数组中小于d.去掉 ...
- cocos2d anchor point 锚点解析
anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看待一个图片是 以图片的中心点 这一个维度来决定图片的位置的.而在cocos2d中决定一个 图片的位置是由两个维度 一个 ...
- 《Python CookBook2》 第一章 文本 - 过滤字符串中不属于指定集合的字符 && 检查一个字符串是文本还是二进制
过滤字符串中不属于指定集合的字符 任务: 给定一个需要保留的字符串的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素. 解决方案: impor ...
- [NOI2001]反正切函数的应用
Time Limit:1000ms Memory Limit:65536kB Description 反正切函数可展开成无穷级数,有如下公式 (其中0 <= x <= 1) 公式(1) 使 ...
- Python 实例: 备份文件
都说生命苦短,我用python, 所以这两天我也开始学python了. 昨天搞了下语法,今天搞出来个实例,备份文件.尽管编码相当烂,但是测试了一下,还真能用. 它读取一个任务文件, 根据指定的任务参数 ...
- 关于如果修改 ie 浏览器 文本模式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/html4/stric ...
- 七牛云存储官方接口PHP版本
PHP SDKv6 此 SDK 适用于 PHP 5.1.0 及其以上版本.基于 七牛云存储官方API 构建.使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上. ...