• 6709阅读
  • 7回复

[提问]请教析构模态对话框父窗口,程序异常退出!!! [复制链接]

上一主题 下一主题
离线cuiman10
 

只看楼主 倒序阅读 楼主  发表于: 2011-02-24
请教析构模态对话框窗口,程序异常退出
例如:
QWidget *myWidget  = new QWidegt;
QFileDialog *openFileDIG = new QFileDialog(myWidget, tr("Open File"),"../nc_files",tr("NC Program(*.ngc)"));

当点击myWidget上的一个按钮弹出openFileDIG文件对话框时,这时删除openFileDIG文件对话框的父窗口myWidget控件时,程序异常退出。请教原因和解决办法,多谢!
做事有度,量体裁衣!
只看该作者 1楼 发表于: 2011-02-24
你是说在openFileDIG还存在的时候删除其父窗口myWidget吗?
如果是这样的话,那应该先删除子对象,再删除父对象才行吧,要不皮之不在,毛发焉存?
不懂为何要在openFileDIG还存在的时候删除其父窗口myWidget。
如果单纯想获取一个文件名,可以用如下的静态函数:
QFileDialog::getOpenFileName()
离线jdwx

只看该作者 2楼 发表于: 2011-02-24
引用第1楼我要下载代码于2011-02-24 14:04发表的  :
你是说在openFileDIG还存在的时候删除其父窗口myWidget吗?
如果是这样的话,那应该先删除子对象,再删除父对象才行吧,要不皮之不在,毛发焉存?
不懂为何要在openFileDIG还存在的时候删除其父窗口myWidget。
如果单纯想获取一个文件名,可以用如下的静态函数:
QFileDialog::getOpenFileName()  

楼上说的对,删除一个还在显示的窗口肯定出错。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线cuiman10

只看该作者 3楼 发表于: 2011-02-24
多谢楼上,请问有没有解决办法?
做事有度,量体裁衣!
只看该作者 4楼 发表于: 2011-02-24
你想实现什么样的功能?
QFileDialog::getOpenFileName()
不能满足你的需求吗?
离线cuiman10

只看该作者 5楼 发表于: 2011-02-24
我创建一个窗口,通过这个窗口的某个按钮弹出文件选择对话框,但是这是突然有个别的事件,要把在文件选择对话框存在的情况下删除其父窗口。你说的那个我试过了,程序照样退出。话句话说,父窗口怎么把其弹出的文件对话框焦点收回?
做事有度,量体裁衣!
只看该作者 6楼 发表于: 2011-02-24
那你把openFileDIG的父对象指向别的QT对象,或者置空,可以不?
离线jdwx

只看该作者 7楼 发表于: 2011-02-24
文件对话框是有模式的对话框,也就是说不关闭文件对话框,你的程序不能获得输入(键盘,鼠标)
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个