QFileDialog取消操作

6

我是一名新手,正在学习QT。目前在我的项目中,我实现了QFileDialog

在我的使用情况中:每当用户选择一个文本文件时,它会执行functionA。然而,我发现如果我在文件对话框中点击取消,functionA 仍然会被执行。

这是我的代码片段:

QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
                                                    "/home",
                                                 tr("Text File (*.txt"));

// I want something like following :

if(QFileDialog.isOkButtonClicked)
{
    // execute functionsA
}

我查阅了QFileDialog的文档,未找到类似的内容。 是否有可能实现这个功能?或者还有其他解决方案吗?谢谢。


1
文档中说:“这是一个方便的静态函数,返回用户选择的现有文件。如果用户按下取消,则返回空字符串。” - Alexander V
感谢 @AlexanderVX 的回复。我添加了 if(!fileName.isEmpty()&&fileName!="") 并且它起作用了。但我不确定这是否是您所指的? - LOK CARD
是的。检查 !filenName.isNull() 就可以了。 - Alexander V
1个回答

12
感谢AlexanderVX。
解决方案很简单:
if(!fileName.isEmpty()&& !fileName.isNull()){
// functionA
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接