0
点赞
收藏
分享

微信扫一扫

【Qt】QWidget在隐藏时,发送信号

文风起武 2024-07-24 阅读 32

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); // 发射显示状态改变信号
    }
};
举报

相关推荐

0 条评论