• 可选取颜色的按钮封装


    头文件:

    #pragma once
    
    #include <QObject>
    #include <QPushButton>
    #include <QColorDialog>
    #include <QColor>
    #include <QDebug>
    class MyQPushButton : public QPushButton
    {
        Q_OBJECT
    public:
        MyQPushButton(QWidget *parent);
        ~MyQPushButton();
        void setColor();//设置随机颜色
        void setColor(QColor color);//设置特定颜色
        QColor getColor() const;//获取颜色
    private slots:
        void choiceColor(void);
    };

    源文件:

    #include "MyQPushButton.h"
    
    MyQPushButton::MyQPushButton(QWidget *parent)
    : QPushButton(parent)
    {
        connect(this, SIGNAL(clicked()), this, SLOT(choiceColor(void)));
        setAutoFillBackground(true);
        setFlat(true);
    
    }
    
    MyQPushButton::~MyQPushButton()
    {
    
    }
    
    void MyQPushButton::choiceColor(void)
    {
        QColor color = QColorDialog::getColor(Qt::white, this);
        if (!color.isValid())
        {
            return;
        }
        QPalette pal;
        pal.setColor(QPalette::Button, color);
    }
    
    /*****************************************************************/
    //作者:朱小勇
    //函数名称:设置随机颜色
    //函数参数:NULL
    //函数返回值:NULL
    //函数作用:NULL
    //备注:NULL
    /*****************************************************************/
    void MyQPushButton::setColor()
    {
        QColor color(rand() % 256, rand() % 256, rand() % 256);//way2
        QPalette pal;
        pal.setColor(QPalette::Button, color);
        setPalette(pal);
    }
    
    /*****************************************************************/
    //作者:朱小勇
    //函数名称:设置指定颜色
    //函数参数:NULL
    //函数返回值:NULL
    //函数作用:NULL
    //备注:NULL
    /*****************************************************************/
    void MyQPushButton::setColor(QColor color)
    {
        QPalette pal;
        pal.setColor(QPalette::Button, color);
        setPalette(pal);
    }
    
    /*****************************************************************/
    //作者:朱小勇
    //函数名称:获取颜色
    //函数参数:NULL
    //函数返回值:NULL
    //函数作用:NULL
    //备注:NULL
    /*****************************************************************/
    QColor MyQPushButton::getColor() const
    {
        return this->palette().color(QPalette::Button);
    }

  • 相关阅读:
    为什么不能直接导入Statsmodels使用?
    数据分析工作的主要内容和基本流程
    Nodejs 包与 NPM 第三方模块安装和 package.json 以及 CNPM (4)
    CommonJs 和 Nodejs 中自定义模块 (3)
    pyhthon 处理pdf 合集
    02 nodejs HTTP模块和url模块配置supervisor
    1 nodejs简介与开发环境配置
    mysql 修改root密码和禁用无密码登录配置
    floodFill填充函数函数(六)
    粗略的调整图片对比度和亮度(五)
  • 原文地址:https://www.cnblogs.com/judes/p/9592637.html
Copyright © 2020-2023  润新知