QPushButton 控制两种状态

【1】Custom.cpp

 1 #include "CustomButton.h"
 2 
 3 CustomButton::CustomButton(QWidget* parent)
 4     : QPushButton(parent)
 5     , m_bCheckState(false)
 6 {
 7     setFixedSize(33, 33);
 8     setFlat(true);
 9 }
10 
11 void CustomButton::mousePressEvent(QMouseEvent *event)
12 {
13     if (m_bCheckState)
14     {
15         m_bCheckState = false;
16         setStyleSheet("QPushButton{background-image:url(:/new/image/mute.png);border:none;}");
17     }
18     else
19     {
20         m_bCheckState = true;
21         setStyleSheet("QPushButton{background-image:url(:/new/image/unmute.png);border:none;}");
22     }
23 
24     return QPushButton::mousePressEvent(event);
25 }

【2】Custom.h

 1 #ifndef CUSTOMBUTTON_H
 2 #define CUSTOMBUTTON_H
 3 
 4 #include <QPushButton>
 5 
 6 class CustomButton : public QPushButton
 7 {
 8 public:
 9     CustomButton(QWidget* parent = Q_NULLPTR);
10 
11 protected:
12     void mousePressEvent(QMouseEvent* event);
13 
14 private:
15     bool m_bCheckState;
16 };
17 
18 #endif // CUSTOMBUTTON_H

【3】pro

#-------------------------------------------------
#
# Project created by QtCreator
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = TestState
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0


SOURCES += main.cpp\
        widget.cpp \
    CustomButton.cpp

HEADERS  += widget.h \
    CustomButton.h

FORMS    += widget.ui

RESOURCES += \
    image.qrc

【4】其他默认文件

Good Good  Study, Day Day Up.

顺序 选择  循环 总结

猜你喜欢

转载自www.cnblogs.com/Braveliu/p/9440223.html