【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.
顺序 选择 循环 总结