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

  • 相关阅读:
    [Unity菜鸟] 协程Coroutine
    [Unity菜鸟] Unity发布web后,从HTML调用本地文件
    [Unity菜鸟] Unity鼠标双击,鼠标函数整理(未完)
    [Unity菜鸟] Unity Web Player 相关问题 (待完善)
    [Unity菜鸟] Unity读XML
    [Unity菜鸟] 术语
    [Unity菜鸟] 笔记2 —— 问题篇
    [Unity菜鸟] Mecanim 系统遇到的问题
    学习:条件[记录]断点
    学习:硬件断点
  • 原文地址:https://www.cnblogs.com/judes/p/9592637.html
Copyright © 2011-2022 走看看