概述
Qt-QPalette类的用法
QPalette是Qt中的一个调色板类,用于美化界面。
1.构造函数
- QPalette(const QColor & button)
- QPalette(Qt::GlobalColor button)
- QPalette(const QColor & button, const QColor & window)
- QPalette(const QPalette & p)
常用的构造函数如上,一般用QColor进行初始化,button表示窗口控件颜色,window表示窗口颜色。
QColor的初始化:
- QColor(int r, int g, int b, int a = 255)
- QColor(Qt::GlobalColor color)
其中Qt::GLobalColor包括:
如Qt::green。
2.成员函数
(用于设置颜色)
- void setColor(ColorGroup group, ColorRole role, const QColor & color)
- void setColor(ColorRole role, const QColor & color)
3.ColorRole枚举项
ColorRole | 作用域 |
QPalette::Window | 窗口颜色 |
QPalette::WindowText | 窗口文字颜色 |
QPalette::Base | 例如TextEdit的背景色 |
QPalette::Text | 例如TextEdit的文字色 |
QPalette::Button | 按钮背景色 |
QPalette::ButtonText | 按钮颜色 |
QPalette::Hightlight | 高亮背景色 |
QPalette::HightlightText | 高亮字体色 |
QPalette::Link | 链接颜色 |
QPalette::LinkVisited | 访问过的链接色 |
4.使用示范
(实现了一个编辑器颜色主题的变换)
//Qt 5.2.1 编译通过
//CopyRight by ChestnutHeng,2015
void MainWindow::on_actionBlack_triggered()
{
ui->actionBlack->setChecked(true);
ui->actionWhite->setChecked(false);
QPalette p = palette(); //声明
p.setColor(QPalette::Base,QColor(0,0,0));
p.setColor(QPalette::Text,QColor(180,180,180));
p.setColor(QPalette::HighlightedText,QColor(70,70,70));
p.setColor(QPalette::Highlight,QColor(200,200,200));
ui -> plainTextEdit -> setPalette(p); //使用
p.setColor(QPalette::Background,QColor(100,100,100));
this-> setPalette(p);
ui -> statusBar-> setPalette(p);
}
5.QT QColor,QString,QRgb 互转
QColor c(255,0,255);
//QColor >> QRgb(uint)
QRgb mRgb = qRgb(c.red(),c.green(),c.blue());
//QRgb(uint) >> QColor;
QColor mColor = QColor(mRgb);
//QRgb(uint) >> QString;
QString mRgbStr = QString::number(mRgb,16);
//QString >> unint >> QColor
QColor color2(mRgbStr.toUInt(NULL,16));
qDebug() << mRgb << mColor << mRgbStr;
转载自 : https://blog.csdn.net/hqyhqyhq/article/details/10097247
转载自 : https://blog.csdn.net/octdream/article/details/81870478
最后
以上就是雪白白昼为你收集整理的QPalette(调色板)类的用法的全部内容,希望文章能够帮你解决QPalette(调色板)类的用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复