我是靠谱客的博主 雪白白昼,最近开发中收集的这篇文章主要介绍QPalette(调色板)类的用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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(调色板)类的用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部