2 csdnicewing csdnicewing 于 2017.11.24 17:19 提问

QT子对话框关闭后打不开

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

4个回答

kidults
kidults   2017.11.24 19:24

Register 是什么

csdnicewing
csdnicewing 对话框子类的名字
5 个月之前 回复
Liuzwang
Liuzwang   2017.11.29 15:49

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

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

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

qtchen_1988
qtchen_1988   2017.12.04 11:39

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!