Qt47 调色板使用

学习自唐佐林老师Qt


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

调色板实验

Widget.h

#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>
class Widget : public QWidget
{
    Q_OBJECT
    
    QPushButton m_button;
    QLineEdit m_edit;
    QLabel m_label;
protected slots:
    void onButtonClicked();
public:
    Widget(QWidget *parent = 0);
    ~Widget();
};
#endif // WIDGET_H

Widget.cpp

#include "Widget.h"
#include <QPalette>
//在初始化列表中指定父组件
Widget::Widget(QWidget *parent)
    : QWidget(parent), m_button(this), m_edit(this), m_label(this)
{
    m_label.move(10, 10);
    m_label.resize(150, 25);
    m_label.setText("Test");
    m_edit.move(10, 45);
    m_edit.resize(150, 25);
    m_button.move(10, 80);
    m_button.resize(150, 25);
    m_button.setText("Test");
    connect(&m_button, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
    //获取按钮的调色板对象
    QPalette p = m_button.palette();
    //按钮激活态颜色 按钮文本显示为红色
    p.setColor(QPalette::Active, QPalette::ButtonText, Qt::red);
    //按钮非激活态颜色 按钮文本显示为红色
    p.setColor(QPalette::Inactive, QPalette::ButtonText, Qt::red);
    //设置 按钮调色板
    m_button.setPalette(p);
    //获取文本框QLineEdit对象的 调色板
    p = m_edit.palette();
    //设置 文本框QLineEdit中高亮选中文字 在 非激活态 背景颜色和前景颜色 蓝色
    p.setColor(QPalette::Inactive, QPalette::Highlight, Qt::blue);
    p.setColor(QPalette::Inactive, QPalette::HighlightedText, Qt::white);
    //设置QLineEdi文本框对象的调色板
    m_edit.setPalette(p);
}
void Widget::onButtonClicked()
{
    //获取标签调色板对象
    QPalette p = m_label.palette();
    //设置激活态 非激活态 窗口文字颜色
    p.setColor(QPalette::Active, QPalette::WindowText, Qt::green);
    p.setColor(QPalette::Inactive, QPalette::WindowText, Qt::green);
    //设置 按钮调色板
    m_label.setPalette(p);
}
Widget::~Widget()
{
    
}

main.cpp

#include <QtGui/QApplication>
#include "Widget.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    
    return a.exec();
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ma浩然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值