马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
.h文件
- #ifndef VOLUMETOOLBTN_H
- #define VOLUMETOOLBTN_H
- #include <QToolButton>
- #include <memory>
- class VolumeToolBtn : public QToolButton {
- Q_OBJECT
- public:
- explicit VolumeToolBtn(QWidget *parent = nullptr);
- ~VolumeToolBtn() override;
- void initUi();
- protected:
- void enterEvent(QEnterEvent *event) override;
- void leaveEvent(QEvent *event) override;
- public slots:
- void onClicked();
- private:
- bool m_isNoVolume = false;
- std::unique_ptr<QWidget>m_volumeWidget;
- };
- #endif //VOLUMETOOLBTN_H
复制代码 .cpp文件
- #include "VolumeToolBtn.h"
- VolumeToolBtn::VolumeToolBtn(QWidget *parent)
- :QToolButton(parent)
- ,m_volumeWidget(std::make_unique<QWidget>(this))
- {
- initUi();
- connect(this, &QToolButton::clicked, this, &VolumeToolBtn::onClicked);
- }
- VolumeToolBtn::~VolumeToolBtn() {}
- void VolumeToolBtn::initUi() {
- this->setStyleSheet(R"(QToolButton{border-image: url(':///Res/playbar/volume-on-gray.svg');}
- QToolButton:hover{border-image: url(':///Res/playbar/volume-on-blue.svg');})");
- }
- 。。。。。后面省略
复制代码 找了半天发现原来是狗屎m_volumeWidget遮住了按钮。。。真是无语,头一回遇到这么奇葩的错误。改为m_volumeWidget(std::make_unique<QWidget>())即可
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |