2015-07-11 52 views
0

我在QT GUI写了一个记事本,但是当我用联想成为一个文件,点击它,.exe文件运行和文件没有打开,所以我必须使用如何在Qt应用程序中打开文件?

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

当我们打开它点击text.txt直接在记事本中打开文件。我怎样才能让我的应用程序相同?

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

+0

要打开的文件作为参数传递,请检查它 – gengisdave

回答

1

当双击该文件(与您的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()方法。

相关问题