【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); // 发射显示状态改变信号
    }
};
相关推荐
我命由我123454 分钟前
Android 开发问题:TextView 内容超过宽度时,默认不会换行
android·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
计算机安禾5 分钟前
【c++面向对象编程】第36篇:析构函数应永远不抛出异常——原因与最佳实践
开发语言·c++
一条泥憨鱼8 分钟前
【Java 进阶】LinkedHashMap 与 TreeMap
java·开发语言·数据结构·笔记·后端·学习
凤山老林10 分钟前
63-Java LinkedList(链表)
java·开发语言·链表
恣艺16 分钟前
用Go从零实现一个高性能KV存储引擎:B+Tree索引、WAL持久化、LRU缓存的工程实践
开发语言·数据库·redis·缓存·golang
kkeeper~9 小时前
0基础C语言积跬步之深入理解指针(5下)
c语言·开发语言
一直不明飞行9 小时前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm
盲敲代码的阿豪10 小时前
Python 入门基础教程(爬虫前置版)
开发语言·爬虫·python
basketball61610 小时前
C++ 构造函数完全指南:从入门到进阶
java·开发语言·c++
互联科技报10 小时前
2026超融合选型:Top5品牌与市场格局解读
开发语言·perl