如何在Qt应用程序中打开文件?

时间:2015-07-11 18:17:53

标签: qt

我在qt gui中写了一个记事本,但是当我将文件与它关联并单击它时,运行.exe并且文件没有打开,所以我必须使用

打开它
QFileDialog::getSaveFileName(
                this,"Save As","",
                "Text Document (*.txt)\n All Files (*.*)")

当我们点击text.txt时,它会直接在记事本中打开文件。如何为我的应用程序制作相同的内容?

备注: QDir :: currentpath()返回我们点击的file.txtq(与之关联)的路径,但我无法返回其名称。

1 个答案:

答案 0 :(得分:2)

双击文件(与exe关联)时,其路径将通过命令行参数传递给您的程序。您可以通过以下方式访问它们:

if (QApplication::arguments().size() > 1) {
    const QString FILENAME = QApplication::arguments().at(1));
    // FILENAME now contains path and name of the file to open.
}

另外,我不知道您使用QFileDialog::getSaveFileName()的原因。要调用打开文件对话框,您需要使用QDialog::getOpenFileName()方法。