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

  • 相关阅读:
    C语言之浮点类型
    C语言之变量基本使用
    Linux之Shell位置参数变量
    C语言之字符类型
    Linux之设置环境变量
    C# 获取任何给定类型Type的三种形式
    指针 PointerPlayground2 示例
    mount bind
    mono2.10.9]# ./configure help
    创建基于栈的数组
  • 原文地址:https://www.cnblogs.com/judes/p/9592637.html
Copyright © 2011-2022 走看看