QT中界面跳转:从第n个界面立即返回第1个界面

本文介绍了一种在多界面应用中,如何从最后一个界面(N界面)通过代码实现一键返回到第一个界面(A界面)的解决方案。通过遍历所有窗口并检查窗口标题来找到A界面,然后关闭当前界面并显示A界面。这种方法适用于无法直接使用导航堆栈的情况,为多层级界面间的跳转提供了一个实用的思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

A界面->B界面->C界面->D界面->E界面……->N界面,那么怎么实现从第N个界面点击按钮立即返回A界面?

解决办法

  • A->B时,用hide()方法隐藏掉A界面。
  • 我们一直点击,最后进入到了N界面,然后在N界面里,使用如下代码获取到指向A界面的指针:
foreach (QWidget *widget, QApplication::allWidgets()){
        qDebug()<<widget->windowTitle();//打印出所有的窗口标题,看看有没有我想要的A窗口
        QString title=widget->windowTitle();//窗口标题
        if(title=="学生成绩管理系统"&&widget->isWindow()){//我的A界面的窗口标题就是“学生成绩管理系统”
            this->close();//关闭当前的N界面
            widget->show();//显示A界面
            return;//找到了A界面就结束
        }
    }

注意:这里的if(title==“学生成绩管理系统”&&widget->isWindow()),请根据你自己的情况修改。这个循环就是遍历所有的Widget,可以拿到指向A界面的指针,然后用show()函数显示出来就OK啦。

结语

网上搜了好久,本人都没有找到答案,找到的全是只有两个界面的,最后自己去阅读API文档找到的办法,如果您有更好的方法,欢迎提出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值