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

1. 介绍

Qt中,QWidget隐藏时,默认不发送信号。需要重写hideEvent()函数实现。

2. 代码

c 复制代码
#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); // 发射显示状态改变信号
    }
};
相关推荐
摇滚侠1 分钟前
Java 字符集 ASCII ISO-8859-1 GBK UTF8 Unicode
java·开发语言·笔记
布朗克1681 分钟前
02 环境搭建——JDK安装与配置
java·开发语言
x秀x5 分钟前
双击EXE启动程序,出现QT动态链接库报错,解决方法
开发语言·qt
测试那点事儿10 分钟前
API 鉴权三种常用做法:用生活例子讲明白
开发语言·lua·生活
流年如夢12 分钟前
类和对象(中)
开发语言·javascript·ajax·ecmascript
yunn_12 分钟前
C++ 多线程笔记
开发语言·c++
Chase_______13 分钟前
【Java杂项】Java 参数传递到底是不是引用传递?值传递与引用值副本讲透
java·开发语言·python
I Promise3415 分钟前
C++ 类访问权限与三大特性详解
开发语言·c++
Huangjin007_15 分钟前
【C++ STL篇(十二)】红黑树の影分身:一棵树如何同时化身 map 和 set(万字拆解+源码)
开发语言·c++
Sylvia-girl18 分钟前
R语言基本语法
开发语言·r语言