下面还是按照我们的进度,从Qt的标准对话框开始说起。所谓标准对话框,其实就是Qt内置的一些对话框,比如文件选择、颜色选择等等。今 天首先介绍一下QFileDialog。
QFileDialog 是 Qt 中用于文件打开和保存的对话框,相当于 Swing 里面的 JFileChooser。下面打开我们前面使用的工程。我们已经很有先见之明的写好了一个打开的action,还记得前面的代码吗?当时,我们只是弹出 了一个消息对话框(这也是一种标准对话框哦~)用于告知这个信号槽已经联通,现在我们要写真正的打开代码了!
修改MainWindow 的open函数:
void MainWindow::open()
{
QString path = QFileDialog::getOpenFileName(this, tr(“Open Image”), “.”, “Image Files(*.jpg *.png)”));
path.length() == 0) {
QMessageBox::information(NULL, tr(“Path”), tr(“You didn’t ect any files.”));
}
else {
QMessageBox::information(NULL, tr(“Path”), tr("You selected ") + path); }
}
编译之前别忘记include QFileDialog哦!然后运行一下吧!点击打开按钮,就会弹出打开对话框,然后选择文件或者直接点击取消,会有相应的消息提示。
QFileDialog 提供了很多静态函数,用于获取用户选择的文件。这里我们使用的是getOpenFileName(), 也就是“获取打开文件名”,你也可以查看API找到更多的函数使用。不过,这个函数的参数蛮长的,而且类型都是QString,并不好记。