Qt实现页面跳转与返回上一级页面(Qt+VS2019)
Qt实现页面跳转与返回上一级(Qt+VS2019)
- 页面跳转
- 返回上一级
页面跳转
问题描述:主界面yangc.ui;需要在主界面点击按钮后进入相应子界面,在子界面点击“返回”按钮后返回主界面。
在主界面创建按钮后对其进行命名(建议使用独立命名而不要使用默认命名,这样也便于后续程序设计,不易混淆),以下图蓝框中按钮为例,对其命名为strhomologybutton:
在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:
点击按钮进入子界面的实现:
(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();};
返回上一级
- openstr.ui如图,返回按钮命名为“returnbutton”:
- 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)相关推荐
- Vue.js页面跳转后返回上一页面记录上一页面select选定的值
在当前页面中,选中了某个标签中的问题,然后跳转到问题页面,按返回按钮返回到当前页面,继续选中之前的选中标签 实现效果如下图: 实现逻辑如下: 进入当前页面的时候,页面路由为http://localho ...
- 后退一步 小程序_微信小程序返回上一级页面的实现代码
微信小程序返回上一级页面 wx.navigateBack({ delta: 1 //返回上一级页面}) html: 保存 js: //提交 submit(){ let data = this.data ...
- 小程序路由(返回上一级页面)
项目场景: 小程序路由跳转问题 项目场景:点击分享链接,跳转至详情页:跳转详情页时需要判断当前用户有没有登录:没有登录跳转至登录页,登录后回到详情页(返回上一级页面) 问题描述 登录后不能返回详情页 ...
- uniapp返回上一级页面并携带参数
前言:返回上一级页面并携带参数适用的场景是从一个列表页跳到详情页,例如详情页内可以删除这条数据,返回列表页希望自动的把这个数据在列表中删除,在不刷新整个列表页的情况下删掉这个数据,这样用户体验在会更友 ...
- 微信小程序返回上一级页面并传值刷新
1 说明 在很多业务场景之下,需要返回上一级页面,并进行刷新,在微信小程序中的wx.navigateBack 方法中,返回上一页是不会刷 新的.如果上一页的页面加载是在onLoad方法中触发的话,那么 ...
- 微信小程序返回上一级页面时刷新页面
问题描述: 微信小程序返回上一级页面时需要重新加载一下数据 问题解决: 方法一: 在需要返回的页面的onShow(){}方法中调用要刷新数据的方法 方法二: goBack(){let pages = ...
- 微信小程序-自定义导航栏及返回上一级页面的实现
一.参考文章 1.微信小程序自定义navigationBar 2.微信小程序返回上一级页面的实现代码 3.小程序开发--常用布局 二.需求 在导航栏中需要显示信息的"未读数量",所 ...
- uniapp如何实现返回上一级页面并传值刷新
在很多业务场景之下,需要返回上一级页面,并进行刷新,在uniapp中的uni.navigateBack 方法中,返回上一页是不会刷新的,更别说传值了,废话不多说直接上代码. 我们假设需要返回上一级页面 ...
- h5移动端实现物理返回键关闭弹框而非返回上一级页面
需求:页面中的popup弹框,可以通过物理返回键进行关闭 方案: (1)当打开弹框时,向history中添加一个空记录,并且监听history的popstate变化 (2)当弹框打开状态用户操作了返回 ...
最新文章
- Java自定义注解Annotation的实现原理
- Java线程 Thread 的6种状态以及转变过程
- 动态规划-----------01背包,完全背包与多重背包
- python特征工程插件_手把手教你用Python实现自动特征工程
- 程序人生:给程序员的18个建议
- mysql md5版本校验_MySQL查询以名称的md5版本更新所有条目?
- CAD中 OLE不能旋转_工作常备的天正CAD技巧都在这里啦(附教程)
- 机器人把大龙拉出来_英雄联盟之我的电竞梦
- 【马克思主义基本原理】--导论
- 如何更改Excel2016中折线图的连接点颜色和样式?
- 如何把图片上的文字提取出来并转成Word文档
- 46.把数字翻译成字符串
- XiaoZi's CrackMe
- 对于大型复杂工程项目,施工标段划分较多时,对建设单位的影响是有利于得到较为合理的报价...
- 数据模拟:利用Java模拟数据(姓名,邮箱,地址,电话等信息,时间,工资,1-10随机数)并存入mysql
- centos 静态编译MP4box
- ERP系统物料清单设计技巧
- 网站压力测试--abtest测试详解abtest
- Koa2仿知乎服务端项目:Webpack配置
- GitFlow 代码管理模型实战