我是靠谱客的博主 狂野紫菜,最近开发中收集的这篇文章主要介绍Qt中给按钮设置颜色的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Qt中给按钮设置颜色的方法

    • 第一种_CSS风格
    • 第二种_使用QPalette类
    • 第三种_使用QColor的另一种方法

对于界面编程来说,色彩无疑是一个重点关注的对象,界面好不好看,色彩占据一大半。这里我在学习给界面涂色时做的一个小小的笔记。

第一种_CSS风格

button->setStyleSheet("background-color:yellow");

在这里插入图片描述
这是最简单的一种,但不常用,因为当按钮设置如下属性颜色就看不见了

button->setFlat(true);

这种情况下,只有按钮按钮下的状态才能显示出颜色。
在这里插入图片描述

第二种_使用QPalette类

使用QPalette类也分两种情况:
但是使用QPalette有前提:我们要把按钮放在QFrame框里,同时按钮窗体进行两项设置

    //放到QFrame里
    buttonFrame = new QFrame;
    QVBoxLayout *buttonLayout = new QVBoxLayout(buttonFrame);
    buttonLayout->addWidget(button);
	//进行两项设置
	button->setAutoFillBackground(true);
	button->setFlat(true);

1.使用QColor类

    QColor color(255,0,255);
    QPalette p = buttonFrame->palette();
    p.setColor(QPalette::Button,color);
    button->setPalette(p);

在这里插入图片描述

2.不使用QColor

    QPalette p = buttonFrame->palette();
    p.setColor(QPalette::Button,Qt::green);
	button->setPalette(p);

在这里插入图片描述

第三种_使用QColor的另一种方法

这种方法是调用Qt的预定义颜色,用选取的预定义颜色给控件赋值,常常和QComboBox下拉框配合使用,将获取到的预定义颜色填入下拉框以供选择。

定义下拉框
comboBoxOne
获取Qt预定义颜色,填到下拉框里

void Widget::fillColorList(QComboBox *comboBox)
{
    QStringList colorList = QColor::colorNames();
    QString color;
    foreach (color, colorList)
    {
        QPixmap pix(QSize(70,20));
        pix.fill(QColor(color));
        comboBox->addItem(QIcon(pix),NULL);
        comboBox->setIconSize(QSize(70,20));
        comboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
    }
}

定义响应下拉框改变信号的槽函数(改变按钮颜色)

void Widget::changeColor()
{
    QStringList colorList = QColor::colorNames();
    QColor colors = QColor(colorList[comboBoxOne->currentIndex()]);
    QPalette pOne = buttonFrame->palette();
    pOne.setColor(QPalette::Button,colors);
    button->setPalette(pOne);
    buttonFrame->update();
}

信号和槽函数的连接

这里让我感到困惑的是,信号槽连接的方式只能用Qt4旧版版本的连接方式,新版本就会报错。有没有哪位大佬能给解释一下呀?

connect(comboBoxOne,SIGNAL(activated(int)),this,SLOT(changeColor()));

在这里插入图片描述

Qt5魅力无穷,作为初学者,感到了长路漫漫的愁…

最后

以上就是狂野紫菜为你收集整理的Qt中给按钮设置颜色的方法的全部内容,希望文章能够帮你解决Qt中给按钮设置颜色的方法所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部