QT 多窗口跳转
刚刚学习QT,要实现多窗口的跳转,现在有一个是widget还有一个是dialog,在widget中有一个按钮,当按下时能够打开dialog,在dialog中也有一个按钮,...
刚刚学习QT,要实现多窗口的跳转,现在有一个是widget还有一个是dialog,在widget中有一个按钮,当按下时能够打开dialog,在dialog中也有一个按钮,按下后能打开widget。请问该怎么实现?求大神帮忙!!ps:试过在widget的头文件中创建一个dialog的对象,然后在按钮slot的中让窗口show,一开始可以但是再在dialog的头文件中是这个方法,就报错了。xxxxcannot name a type.(xxxx是widget的类名)
展开
3个回答
展开全部
你的意思难道是先从widget跳转到dialog,然后再从dialog跳转到widget?额,多么奇怪的设计~
按道理讲dialog一般都是弹出窗口,所以dialog一般会是最顶层独立的模态的窗体,你所谓的跳转到widget是指跳转到与开始不一样的widget还是跳转到原来的widget?
如果是不一样的widget,你需要把dialog close掉,隐藏原来的widget,再显示你要跳转到的widget。如果跳转到原来的widget,你只需要把dialog close掉就行了。
按道理讲dialog一般都是弹出窗口,所以dialog一般会是最顶层独立的模态的窗体,你所谓的跳转到widget是指跳转到与开始不一样的widget还是跳转到原来的widget?
如果是不一样的widget,你需要把dialog close掉,隐藏原来的widget,再显示你要跳转到的widget。如果跳转到原来的widget,你只需要把dialog close掉就行了。
追问
设计是这样的在widget有一个按钮按下时弹出登录的对话框,当取消的时候再跳回到原来的widget
追答
在弹出对话框的过程中,原来的widget需要隐藏么?
如果原来的widget不需要隐藏,那么只需要用户点击取消后关闭该对话框。
如果原来的widget需要隐藏,那么首先隐藏widget然后再调用对话框的exec(),最后再隐藏对话框并且显示widget。
针对第二种情况,由于QMessageBox继承自QDialog,所以以QMessageBox为例
void MainWindow::showMessageBox()
{
hide();
QMessageBox info;
info.setText("登录对话框");
info.exec();
show();
}
其中showMessageBox为槽函数,该槽函数与widget中的某个按钮点击事件相连。
展开全部
http://zhidao.baidu.com/ http://blog.csdn.net/liang890319/article/details/7064578
看我这篇文章
两种方法
csdn有源码下载 免费的额自己下下看
看我这篇文章
两种方法
csdn有源码下载 免费的额自己下下看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询