• 5717阅读
  • 3回复

QFileDialog*filedlg后如何关闭filedlg?? [复制链接]

上一主题 下一主题
离线yfx2003
 

只看楼主 倒序阅读 楼主  发表于: 2006-05-15
QFileDialog*filedlg后如何关闭filedlg??

问题如下:

QFileDialog*filedlg = new QFileDialog( this, "as" );

if( filedlg->exec() == QDialog::Accepted )
{
  // code for dealing with process
  ;
  ;
}

现在, 当filedlg弹出后,我选择了 OK 等按钮后, 这个对话框却没有办法关闭?? 如下调用:

filedlg->accept(); // 提示说是QDialog的protect,不能使用!

该怎么办?

非常感谢!!
[ 此贴被XChinux在2006-05-15 23:46重新编辑 ]
www.qtcn.org/gpq4/
ajaxref.okajax.com/
离线nanhu_007

只看该作者 1楼 发表于: 2006-05-16
QFileDialog是QDialog继承下来的,“在qtopia里”它的执行方式是利用execDialog来实现的,执行之后dialog就会hide掉:
QFileDialog*filedlg = new QFileDialog( this, "as" );

if( QPEApplication::execDialog(filedlg )== QDialog::Accepted )
{

}
////////////////////////////////////////////////
不知道你哪里的情况是怎么样的。
离线yfx2003

只看该作者 2楼 发表于: 2006-05-16
实际上我的和2楼的写法是一样的
但是,我的点击了ok后它就是不隐藏啊?!!!

应该不是我的写法有问题的?!
www.qtcn.org/gpq4/
ajaxref.okajax.com/
离线yfx2003

只看该作者 3楼 发表于: 2006-05-16
现将解决办法列除(可以参考手册)

QString filename = QFileDialog::getFileSaveDialog(""此处省略...);

if ( !filename.isEmpty() )
{

  // like the user clicks ok bt

}
else
{
// click cancel

}
www.qtcn.org/gpq4/
ajaxref.okajax.com/
快速回复
限100 字节
 
上一个 下一个