Qt实现页面跳转与返回上一级(Qt+VS2019)

  • 页面跳转
  • 返回上一级

页面跳转

  1. 问题描述:主界面yangc.ui;需要在主界面点击按钮后进入相应子界面,在子界面点击“返回”按钮后返回主界面。

  2. 在主界面创建按钮后对其进行命名(建议使用独立命名而不要使用默认命名,这样也便于后续程序设计,不易混淆),以下图蓝框中按钮为例,对其命名为strhomologybutton:

  3. 在VS工程中新建UI界面:项目->ADD Qt Class,选择Qt Widget Class,对其进行命名。
    网上很多教程对于VS中新建Qt的UI文件给出的是“Qt GUI Class”,其实就是Qt Widget Class,这是因为VS更新之后Qt也更新出了Widget。

    之后发现新建了三个文件:Openstr.ui、Openstr.h、Openstr.cpp:

  4. 点击按钮进入子界面的实现:
    (1)主界面yangc.cpp中添加代码:
    此处注意,按照Qt的规范命名格式的话,是不需要在UI界面对其进行槽函数的连接与设置的,否则会导致点击按钮后弹框弹出两个;此处的规范命名是指函数名必须为on_buttonname_clicked() 的格式,此处的“buttonname”即为按钮的名称。

void yangc::on_strhomologybutton_clicked()
{openstr = new Openstr;openstr->show();//Openstr窗口显示this->hide();
}

而对于不规范的命名,则需要设置相应的槽函数:

之后对此命名:

这样设置完槽信号之后即可。
(2)主界面的yangc.h中添加如下代码:
增设头文件:

#include"Openstr.h"

private添加:

Openstr * openstr;

private slots:

private slots:void on_strhomologybutton_clicked();

整个文件如下:

#pragma once#include <QtWidgets/QMainWindow>
#include "ui_yangc.h"
#include"qmessagebox.h"
#include"Openstr.h"class yangc : public QMainWindow
{Q_OBJECTpublic:yangc(QWidget *parent = Q_NULLPTR);private:Ui::yangcClass ui;Openstr * openstr;private slots:void on_strhomologybutton_clicked();};

返回上一级

  1. openstr.ui如图,返回按钮命名为“returnbutton”:
  2. openstr.h中添加:
private slots:void on_returnbutton_clicked();

全部代码:

#pragma once#include <QWidget>
#include "ui_Openstr.h"class Openstr : public QWidget
{Q_OBJECTpublic:Openstr(QWidget *parent = Q_NULLPTR);~Openstr();private:Ui::Openstr ui;private slots:void on_returnbutton_clicked();
};

3.主界面yangc.cpp中添加:

void Openstr::on_returnbutton_clicked()
{QMessageBox message(QMessageBox::NoIcon, "Tip", "Back successfully ");message.exec();yangc* Yangc = new yangc;Yangc->show();//program窗口显示this->hide();//本窗口隐藏
}

整体效果如下:

Qt实现页面跳转与返回上一级页面(Qt+VS2019)相关推荐

  1. Vue.js页面跳转后返回上一页面记录上一页面select选定的值

    在当前页面中,选中了某个标签中的问题,然后跳转到问题页面,按返回按钮返回到当前页面,继续选中之前的选中标签 实现效果如下图: 实现逻辑如下: 进入当前页面的时候,页面路由为http://localho ...

  2. 后退一步 小程序_微信小程序返回上一级页面的实现代码

    微信小程序返回上一级页面 wx.navigateBack({ delta: 1 //返回上一级页面}) html: 保存 js: //提交 submit(){ let data = this.data ...

  3. 小程序路由(返回上一级页面)

    项目场景: 小程序路由跳转问题 项目场景:点击分享链接,跳转至详情页:跳转详情页时需要判断当前用户有没有登录:没有登录跳转至登录页,登录后回到详情页(返回上一级页面) 问题描述 登录后不能返回详情页 ...

  4. uniapp返回上一级页面并携带参数

    前言:返回上一级页面并携带参数适用的场景是从一个列表页跳到详情页,例如详情页内可以删除这条数据,返回列表页希望自动的把这个数据在列表中删除,在不刷新整个列表页的情况下删掉这个数据,这样用户体验在会更友 ...

  5. 微信小程序返回上一级页面并传值刷新

    1 说明 在很多业务场景之下,需要返回上一级页面,并进行刷新,在微信小程序中的wx.navigateBack 方法中,返回上一页是不会刷 新的.如果上一页的页面加载是在onLoad方法中触发的话,那么 ...

  6. 微信小程序返回上一级页面时刷新页面

    问题描述: 微信小程序返回上一级页面时需要重新加载一下数据 问题解决: 方法一: 在需要返回的页面的onShow(){}方法中调用要刷新数据的方法 方法二: goBack(){let pages = ...

  7. 微信小程序-自定义导航栏及返回上一级页面的实现

    一.参考文章 1.微信小程序自定义navigationBar 2.微信小程序返回上一级页面的实现代码 3.小程序开发--常用布局 二.需求 在导航栏中需要显示信息的"未读数量",所 ...

  8. uniapp如何实现返回上一级页面并传值刷新

    在很多业务场景之下,需要返回上一级页面,并进行刷新,在uniapp中的uni.navigateBack 方法中,返回上一页是不会刷新的,更别说传值了,废话不多说直接上代码. 我们假设需要返回上一级页面 ...

  9. h5移动端实现物理返回键关闭弹框而非返回上一级页面

    需求:页面中的popup弹框,可以通过物理返回键进行关闭 方案: (1)当打开弹框时,向history中添加一个空记录,并且监听history的popstate变化 (2)当弹框打开状态用户操作了返回 ...

最新文章

  1. Java自定义注解Annotation的实现原理
  2. Java线程 Thread 的6种状态以及转变过程
  3. 动态规划-----------01背包,完全背包与多重背包
  4. python特征工程插件_手把手教你用Python实现自动特征工程
  5. 程序人生:给程序员的18个建议
  6. mysql md5版本校验_MySQL查询以名称的md5版本更新所有条目?
  7. CAD中 OLE不能旋转_工作常备的天正CAD技巧都在这里啦(附教程)
  8. 机器人把大龙拉出来_英雄联盟之我的电竞梦
  9. 【马克思主义基本原理】--导论
  10. 如何更改Excel2016中折线图的连接点颜色和样式?
  11. 如何把图片上的文字提取出来并转成Word文档
  12. 46.把数字翻译成字符串
  13. XiaoZi's CrackMe
  14. 对于大型复杂工程项目,施工标段划分较多时,对建设单位的影响是有利于得到较为合理的报价...
  15. 数据模拟:利用Java模拟数据(姓名,邮箱,地址,电话等信息,时间,工资,1-10随机数)并存入mysql
  16. centos 静态编译MP4box
  17. ERP系统物料清单设计技巧
  18. 网站压力测试--abtest测试详解abtest
  19. Koa2仿知乎服务端项目:Webpack配置
  20. GitFlow 代码管理模型实战

热门文章

  1. JAVA工程师个人简历中的项目经验范文
  2. 同一页面显示不同内容
  3. 电子招投标系统源码之了解电子招标投标全流程
  4. unity 制作的app发布到andriod手机
  5. 五款免费同步备份软件介绍
  6. Linux NAND FLASH驱动程序分析(mini2440)
  7. 微信小程序,使用canvas画图生成海报并保存手机相册
  8. 全球及中国农药市场需求走势与十四五发展商机研究报告2022版
  9. 线性代数 --- 什么叫线性组合 Linear Combination(个人笔记扫描版)
  10. python实现 把列表中数字0移动到末尾