【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); // 发射显示状态改变信号
    }
};
相关推荐
Bob999811 分钟前
电脑浏览器访问华为路由器报错,无法访问路由器web界面:ERR_SSL_VERSION_OR_CIPHER_MISMATCH 最简单的解决办法!
开发语言·javascript·网络·python·网络协议·华为·ssl
cat_fish_rain34 分钟前
使用Qt 搭建简单雷达
开发语言·c++·qt
星毅要努力36 分钟前
【C语言编程】【小游戏】【俄罗斯方块】
c语言·开发语言·学习·游戏
小陈的进阶之路38 分钟前
c++刷题
开发语言·c++·算法
游凡~1 小时前
【C++】虚函数
开发语言·c++
美若黎明@1 小时前
C# 路径操作
开发语言·c#
难以触及的高度2 小时前
source ~/.bash_profile有什么用
开发语言·bash
骆晨学长2 小时前
基于springboot学生健康管理系统的设计与实现
java·开发语言·spring boot·后端·spring
白总Server2 小时前
php语言基本语法
开发语言·ide·后端·golang·rust·github·php
小林熬夜学编程2 小时前
【Linux系统编程】第二十弹---进程优先级 && 命令行参数 && 环境变量
linux·运维·服务器·c语言·开发语言·算法