QT子对话框关闭后打不开

本人大一小白,写大作业临时学QT,现有以下函数:
void LoginForStudents::on_RegBtn_clicked()
{
Register reg;
this->close();
if(reg.exec()==QDialog::Accepted){
this->exec();
}
}
在开启这个子窗口之前我已经把Widget主窗口关掉了,也是形式同样的函数,只不过把exec()换成了show(),可以正常恢复显示……
求救!!千恩万谢!

0

4个回答

Register 是什么

0
csdnicewing
csdnicewing 对话框子类的名字
一年多之前 回复

楼主,你可以把问题讲明白点吗?
你的reg没有指定父对象,所以不叫子窗口,那是新建的窗口。
是新建的窗口打不开还是之前的Widget?你想达到的目的是什么?

0
csdnicewing
csdnicewing 不好意思,最近课业太重回复地晚了,对您的不尊重请您原谅,谢谢。是这样的。我在Widget中开启了调用我上面说的函数的窗口A然后close()掉了Widget,现在想在A中开启reg这个窗口然后把reg关闭掉,reg关闭之后再把A打开,现在做不到,还望大牛能帮助。
一年多之前 回复

理解了,大概就是一个窗口跳转的问题。
你想从A窗口打开B窗口,关掉A窗口。
后来又想打开A窗口,关掉B窗口。
参考这个。
http://bbs.csdn.net/topics/392281430

0

首先Register reg;不是指针,函数on_RegBtn_clicked()运行完reg会自动释放,其次,你可以用hide() 和show()实现;

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
qt退出对话框
qt 的对话框设计与创建,使用信号与槽的技术,建立gui工程文档
QT5入门之5 - 确认退出对话框
#include QCloseEvent>//头文件记得添加 void closeEvent(QCloseEvent *event);//头文件中声明 void MainWindow::closeEvent(QCloseEvent *event) { QMessageBox::StandardButton button; button = QMessageBox::question
Qt中模态对话框没有关闭按钮问题
Qt中模态对话框没有关闭按钮问题
QT 关闭窗口是否销毁窗口及子部件
顶层窗口调用close:应用程序销毁该窗口部件及子部件。 非顶层窗口close:关闭时只是隐藏,不会被销毁。
Qt对话框窗体关闭时,如何自动销毁窗体类对象、清空内存
一、问题: 在主窗口点击弹出一个对话框后,对话框中包含了一个定时器。在关闭对话框后定时器对象仍在运行。 mainwindow.cpp void MainWindow::on_actionKSE5K_triggered()//add actionKSE5K { m_jokey_ksg = new JokeyDialog(this); // m_jokey_ksg->set...
QT QDialog 对话框显示几秒钟自动关闭
在实际开发中,我们会有这样一种需求,一个提示框,用户可以手动关闭,或者在用户没有操作的情况下,显示3秒钟然后自动关闭,这样应该怎样做呢?我们的思路应该是这样的:1.对话框构造函数里,设置一个定时器2.定时器槽函数设置为close()看代码.h#ifndef SUBMITSCOREERRORDLG_H #define SUBMITSCOREERRORDLG_H #include <QDial...
QT 模态与非模态对话框的创建与退出
1、模态对话框与非模态对话框 模态对话框就是指在子对话框弹出时,焦点被强行集中于该子对话框,子对话框不关闭,用户将无法操作其他的窗口。非模态对话框则相反,用户仍然可以操作其他的窗口,包括该子对话框的父对话框。 如果从线程角度来讲,模态对话框实际上是线程阻塞的,也就是子对话框是一个线程,但是在创建这个子线程之后,父窗口就阻塞了;非模态对话框则是非阻塞型的线程模型,父子
QT入门(一) 窗口设置、调试、模态对话框
有无标题框,子窗口设置: // 新建QWidget类对象,默认parent参数是0,所以它是个窗口 QWidget *widget = new QWidget(0,Qt::Dialog|Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint); // 设置窗口标题 widget->setW...
qt中窗口关闭立即释放资源的方法,多用于子窗口
qt中窗口关闭立即释放资源的方法,多用于子窗口chatwindow *win = new chatwindow(this); win->setAttribute(Qt::WA_DeleteOnClose);
Qt主界面获取模态对话框数据的方法
Qt主界面获取非模态对话框数据的方法
【Qt】弹出子窗口时禁用主窗口
转载: https://blog.csdn.net/kaspar1992/article/details/75984022   子窗口名:userManagerDialog Qt::WindowFlags flags = Qt::Dialog; userManagerDialog->setWindowFlags(flags); 弹出子窗口时禁用主窗口 userManagerDia...
子模态对话框关闭后刷新父模态对话框
因系统需求,要在关闭子模态对话框后刷新父模态对话框,做的一个小测试。
Qt工作笔记-QDialog模式对话框传递数据给主窗口
话不多说,上图:这里同样是采用了Qt的信号与槽机制。项目文件分布如下:代码如下:dialog.h#ifndef DIALOG_H #define DIALOG_H #include <QDialog> namespace Ui { class Dialog; } class Dialog : public QDialog { Q_OBJECT signals: v...
QT 点击自定义QDialog类"确定"按钮 , 模态框立刻关闭 , 之后又做空值检查问题解决
问题:点击自定义类的"确定"按钮 , 模态框立刻关闭 , 之后又做空值检查(弹框提示) 解决:点击自定义类的"确定"按钮 ,先空值检查,再关闭模态框 QDialog::Accepted值生成及传递 QDialog::accept() QDialog::accepted()
vs2015+QT5添加多个子对话框
在主对话框中Form Files上右键->添加->(最下面)Add Qt Class->Qt GUI Class->修改类名,则能生成对应ui文件、.h文件及.cpp文件啦
Qt创建对话框的步骤
1、创建并初始化子窗口部件 2、把子窗口部件放到布局中 3、设置Tab键顺序 4、建立信号-槽之间的连接 5、实现对话框中的自定义槽
QT中 子对话框访问主窗口变量。
#include "dialogwarning.h" #include "ui_dialogwarning.h" #include "mainwindow.h" DialogWarning::DialogWarning(QWidget *parent) : QDialog(parent), ui(new Ui::DialogWarning) { ui->setupUi
Qt之各种对话框(信号和槽)
一、多窗口切换 第一步:首先创建一个项目,之后进入ui设计模式,在左侧找到Label和Push Button这两个左键拖入。 第二步:双击Label将其修改为主界面,之后在Push Button 右键选择clicked()转到槽。 第三步:在函数槽中添加:(需要包含#include) void MainWindow::on_pushButton_clicked() { QD
《C++笔记》 Part11 MFC在对话框中嵌入子对话框,同时利用类似Qt的信号槽来发送消息传递参数
《C++笔记》 Part11 MFC在对话框中嵌入子对话框,同时利用类似Qt的信号槽来发送消息传递参数 一、对话框中显示对话框的方法: 1、首先创建要在对话框里显示的那个对话框,命名为:IDD_Dialog。 设置这个对话框的属性: 1)、“Style”选择“Child”;中文版“样式”选择“下层”。 2)、“Border”为“None”;中文版“边框”选择“无”。 2、为了显示时...
模态对话框可能导致程序崩溃
在开发Windows引用程序的时候,在一些需要用户确认,或者提示用户注意的场合,经常使用模态对话框,或者叫模态窗口。在绝大多数情况下,模态窗口给开发人员带来了极大的便利,并且在某些应用上有不可替代的优势。然而凡事有利必有弊,如果不正确地使用模态窗口,却有可能带来某些严重问题,甚至可能引起程序崩溃。要想知道为什么模态窗口可能带来某些严重问题,就必须首先了解模态窗口的实现原理。因此本文将首先介绍模...
重载QDialog的accept()实现达到某种条件后再关闭QDialog对话框
void Add_Modify::accept() //Add_modify继承自QDialog { QTableWidget* tableWidget = getTableWidget(); int nRow = tableWidget->rowCount(); QStringList insertValue; for(int i = 0; i &lt...
Qt对话框QDialog的返回值
Constant Value QDialog::Accepted 1 QDialog::Rejected 0
Qt 非模态对话框exec()与模态对话框show()
下面两段话摘自:《基于嵌入式Linux的Qt图形程序实战开发》P41~42 用一句来表示我对exec()的理解吧:首先会显示对话框,然后会阻塞后面的代码的执行,直到对话框关闭,返回结果。 模式对话框:所谓模式对话框就是说,该对话框会把该应用程序的其他窗口的输入锁定,其他应用程序仍然可以被用户访问。也就是说当一个模式对话框运行时,该应用程序的其他窗口就不能进行操作了。想要恢复对其
Qt5.9关闭子窗口时执行特定代码(析构函数、关闭窗口)(setAttribute(Qt::WA_DeleteOnClose)、closeEvent(QCloseEvent* event))
本文主要总结在关闭qt的QWidget子窗口瞬间,执行特定代码。由于主窗口关闭时,会自动执行析构函数,而子窗口关闭时,却不会调用析构函数,进过博主查阅资料,发现有两种方法可以在子窗口关闭时,调用析构函数或者执行一个关闭函数。 第一种方法是关闭窗口时调用窗口的析构函数,直接在构造函数添加如下代码,然后就可以调用子窗口析构函数了。 setAttribute(Qt::WA_DeleteOnClos...
Qt主界面获取对话框数据
在编写Qt程序的时候,我们常常需要通过对话框来获取用户的输入数据,比如通过文件对话框获取文件的路径,通过颜色对话框获取用户所选择的颜色,这些对话框的类都是Qt帮我们写好了的,调用相应函数就能直接返回用户的输入。然而,很多时候,我们需要创建自己的对话框,我们不能调用现成函数来获取用户输入,本文将提供两种方法,通过对话框来获取用户输入的案例。
两种实现点击'对话框'以外的区域,'对话框'消失的方法。
html: <div class="wrap"> <div class="content"> </div> </div> 第一种思路:当前点击的对象不是对话框本身,则让对话框消失 var wrap = document.getElementsByClassName('wrap')[0]; var conten...
Qt中的对话框
对话框是GUI程序和用户进行简短交互的顶层窗口,所谓顶层窗口即始终在主窗口之上显示。QDialog是Qt所有类型的对话框窗口的基类,它继承于QWidget,是一种容器类型组件。  QWidget是所有窗口类的抽象,它也可以生成对话框,但是对话框是常见的窗口组件,若每次要使用对话框,都利用QWidget来生成并设置相关参数,显然十分繁琐。所以Qt为我们封装了另外一个子类QDialog,专门用于生成对话
qt实现内嵌对话框
该文件支持QT工具运行,代码不全,需要自己建立新工程,基类的dialog。
QT 主窗口最小化,子窗口不跟随 设置
音乐播放器 歌词条-- --  主窗口最小化,子窗口不跟随。 子窗口 设置 LrcDialog::LrcDialog(QWidget *parent) :QDialog(parent) { setWindowFlags(Qt::Window|Qt::FramelessWindowHint|Qt::CoverWindow |Qt::WindowStaysOnTopHint);
父窗口打开子窗口,子窗口关闭后自动刷新父窗口
可以在任何地方插入代码 window.onunload = function(){ window.opener.location.reload(); } 子窗口处理完后可以调用close();关闭窗口。
图像滤波及去噪
-
QT对话框出现消失的效果
渐渐显示 QPropertyAnimation *animation = new QPropertyAnimation(this, "windowOpacity"); animation->setDuration(1000); animation->setStartValue(0); animation->setEndValue(1); a
MFC中通过子窗口关闭父窗口以实现退出程序
这应该是个老问题,我来稍微总结下:(我刚刚接触Windows编程希望大家多多指点) 1.上来来个最鲁莽的. 直接通过exit(0),ExitProcess(0); //不好的用法 猜测资源得不到回收 原因如下: http://blog.csdn.net/jiang1013nan/article/details/4831020 2.向父窗口发送WM_CLOSE消息,
Qt对话框与窗口的关闭和隐藏(QCloseEvent、Qt::WA_DeleteOnClose属性、Qt::WA_QuitOnClose属性)
Qt对话框与窗口的关闭和隐藏(QCloseEvent、Qt::WA_DeleteOnClose属性、Qt::WA_QuitOnClose属性) 若对C++语法不熟悉,建议参阅《C++语法详解》一书,电子工业出版社出版,该书语法示例短小精悍,对查阅C++知识点相当方便,并对语法原理进行了透彻、深入详细的讲解,可确保读者彻底弄懂C++的原理,彻底解惑C++,使其知其然更知其所以然。此书是一本全面了解C...
QT 子窗口—>主窗口 信号和槽的交互
背景: 要实现的功能: 主窗口MainWindow中打开子窗口UdpChannel后,子窗口发送一个信号,传递一个QString,要求在主窗口的QTextBrowser中打印出来!(比如操作的日志信息) 实现原理: ①在子窗口中声明信号 ②在主窗口中声明并实现槽函数 ③在主窗口中庸connect绑定信号和槽 ④子窗口中发送信号(emit) 具体实现: ①UdpCh
QT单击按钮关闭一个窗口,并且打开一个窗口
示例是单击qt界面上的一个按钮,然后程序自动关闭当前窗口,然后打开一个界面,类似于qq点击了qq登录按钮之后,界面有所变化
Qt学习 重写closeEvent退出对话框
Qt学习 重写closeEvent退出对话框
关闭窗口时弹出确认消息框(2.0)
关闭窗口时弹出确认消息框
QtCreator开发的常用对话框
QTCreator开发的常用对话框示例代码,可以下载学习,可以继续扩张学习
Qt中的信号和槽以及自定义对话框
一、信号和槽      Qt中使用信号和槽机制来完成对象之间的协同操作,信号和槽都是函数,例如,单击窗口上的一个按钮时,想要弹出一个对话框,那么可以将这个按钮的单击信号和自定义的槽关联起来,在这个槽中创建一个对话框并且显示它。这样单击信号时就会发射信号,进而执行槽来显示一个对话框。 例子: 1、信号和槽的手动关联 (1)在Qt Creator上新建一个项目,选择 文件——新建文件或项目——