zoukankan      html  css  js  c++  java
  • 可选取颜色的按钮封装

    头文件:

    #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);
    }

  • 相关阅读:
    Hadoop概述
    Spring Security学习总结及源码分析
    Gradle在Mac上安装及Idea中配置
    MIT-6.S081-2020实验(xv6-riscv64)一:util
    数据库理论一些疑惑点
    com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
    vue Elemente-UI 管理后台自定义 导航菜单栏
    vue 处理跨域问题 (“No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.”)
    修改伪元素content
    重写window.alert
  • 原文地址:https://www.cnblogs.com/judes/p/9592637.html
Copyright © 2011-2022 走看看