Qt编程18:Qt调色板QPalette的使用
2016-04-07 15:30
423 查看
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
比如:
显示效果:
![](http://img.blog.csdn.net/20140710163012896?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamllemhq/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
//----------------------------------------------------------------------------------------------------------------设置颜色的方法:
QPalette::setColor()针对某个ColoRole设置颜色
QPalette::setBrush()针对某个ColoRole设置颜色。能够设置图片
注意:在设置背景色的时候,首先调用setAutoFillBackGround(true)。
button使用调色板
效果:
![](http://img.blog.csdn.net/20140710164439961?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamllemhq/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
QTextBrowser或QTextEdit使用调色板(文字编辑框)
实现效果:
枚举
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);
实现效果:
相关文章推荐
- pca的具体应用QT+OPENCV人脸主成分提取和还原
- PyQt4日历部件QXalendarWidget
- Qt Windows下开机自动启动自己的程序
- Qt QDebug等重定向到文件中
- qt执行cmd命令
- QT中QProcess调用命令行的痛苦经历
- Qt之开机自启动及拥有管理员权限
- Qt录音程序
- Qt多工程多目录的编译案例
- Qt 示例学习--1. enginio qml todos
- QT工程pro设置实践(with QtCreator)----非弄的像VS一样才顺手?
- PyQt4进度条QProgressBar
- Qt 多线程与数据库操作需要注意的几点问题
- 将Qt 动态链接生成的exe及依赖dll打包方法
- Qt之VLFeat SLIC超像素分割(Cpp版)
- opencv环境在QT的配置
- QT中QPainter的使用及矩形、圆形等常见图形的画法
- PyQt4滑块QSlider、标签QLabel
- QT 多线程小结
- qt 信号槽默认参数 toggled 和 trigger的区别