c++ qt 非模态文件对话框
时间: 2024-09-19 13:01:22 浏览: 70
在C++ Qt中,非模态(Modal)文件对话框意味着窗口打开时不阻塞主程序界面,用户可以在该对话框之外继续操作其他控件,直到对话框关闭为止。相反,模态对话框会暂停程序流程,直到用户对对话框进行了明确的操作(如点击确定或取消)。
非模态文件对话框通常通过`QFileDialog`类创建,这个类提供了一个方便的方式来选择文件或目录。下面是一个简单的例子,展示了如何在Qt中创建并显示非模态文件对话框:
```cpp
#include <QApplication>
#include <QFileDialog>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建一个非模态文件对话框对象
QString filename = QFileDialog::getOpenFileName(
nullptr, // 打开对话框的父窗口(可以为空)
tr("打开文件"), // 标题
"", // 初始路径
tr("Text Files (*.txt)")); // 文件过滤器
if (!filename.isEmpty()) {
qDebug() << "用户选择了文件: " << filename;
}
return app.exec();
}
```
在这个例子中,如果用户选择了一个文件,`getOpenFileName`函数会返回所选文件的完整路径;如果没有选择,将返回空字符串。
阅读全文