1. 介绍
Qt中,QWidget隐藏时,默认不发送信号。需要重写hideEvent()函数实现。
2. 代码
#include <QWidget>
class MyWidget : public QWidget
{
    Q_OBJECT
signals:
    void hiddenStateChanged(bool isHidden);
protected:
    void hideEvent(QHideEvent* event) override
    {
        QWidget::hideEvent(event);
        emit hiddenStateChanged(true); // 发射隐藏状态改变信号
    }
    void showEvent(QShowEvent* event) override
    {
        QWidget::showEvent(event);
        emit hiddenStateChanged(false); // 发射显示状态改变信号
    }
};










