记一次控件提升后,运行却不显示的Bug

.h文件

cpp 复制代码
#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文件

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>())即可

相关推荐
郝学胜_神的一滴8 小时前
Qt 高级开发 021:零基础吃透 QVBoxLayout 垂直布局
c++·qt
誰能久伴不乏13 小时前
libmodbus 在 Windows 环境下报 “Invalid argument“ 的排错记录
c++·qt·modbus
小许同学记录成长14 小时前
网格简化算法 — Edge Collapse(边塌缩)
qt·算法
tangchao340勤奋的老年?15 小时前
遮挡式引导界面设计
qt
酬勤-人间道15 小时前
VTK 与 Cesium-native 结合实践:小场景三维编辑 + 数字地球精准贴合
c++·qt·vtk·遥感·岩土·cesium-native
誰能久伴不乏15 小时前
Qt C++ 解析 JSON 完全指南:从核心概念到工业级实战
c++·qt·json
雪的季节17 小时前
Qt 高性能绘图的核心原理
qt
Irissgwe17 小时前
一、Qt 概述
c++·qt·gui·qt creator
m0_6174939417 小时前
PySide6/PyQt6实现中英文切换完整教程(Qt Designer + Qt Linguist + 动态切换)
开发语言·qt
咸鱼翻身小阿橙17 小时前
文件读写 + Qt Model/View + 自定义分页+搜索过滤
java·数据库·qt