QFileDialog 连用两次出错

arkembedded 2017-10-03 05:50:53
QString file_dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), ".", QFileDialog::ShowDirsOnly);

QMessageBox::about(this, tr("Temp Test"), file_dir);

QString file_name = QFileDialog::getOpenFileName(this, tr("Open JSON File"), "/home/ark/Workspaces//", tr("JSON Files(*.*)"));

由于特殊功能需要在鼠标点击某菜单后,需要的先选择目录,再选择一个在另一处的文件。
在运行QFileDialog::getExistingDirectory时成功,在msg窗口中显示出了正确的目录。
但是接下来运行QFileDialog::getOpenFileName,程序死机了。

请教一下,如何解决,谢谢!

下面的情况也会在运行第二次QFileDialog时死掉。
QString file_name = QFileDialog::getOpenFileName(this, tr("Open JSON File"), "/home/ark/Workspaces/Challenger_AI/download/", tr("JSON Files(*.*)"));

QMessageBox::about(this, tr("Temp Test"), file_name);

file_name = QFileDialog::getOpenFileName(this, tr("Open JSON File"), "/home/ark/Workspaces/Challenger_AI/download/", tr("JSON Files(*.*)"));

...全文
425 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
DC_Sea 2017-10-10
  • 打赏
  • 举报
回复 1
QString file_dir = QFileDialog::getExistingDirectory(0, tr("Open Directory"), ".", QFileDialog::ShowDirsOnly); QMessageBox::about(0, tr("Temp Test"), file_dir); QString file_name = QFileDialog::getOpenFileName(0, tr("Open JSON File"), "/home/ark/Workspaces//", tr("JSON Files(*.*)")); 这几行代码没问题,我用的0没用this,你应该检查下 其他地方,
  • 打赏
  • 举报
回复
具体报什么错误?

16,173

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧