我在qt gui中写了一个记事本,但是当我将文件与它关联并单击它时,运行.exe并且文件没有打开,所以我必须使用
打开它QFileDialog::getSaveFileName(
this,"Save As","",
"Text Document (*.txt)\n All Files (*.*)")
当我们点击text.txt时,它会直接在记事本中打开文件。如何为我的应用程序制作相同的内容?
备注: QDir :: currentpath()返回我们点击的file.txtq(与之关联)的路径,但我无法返回其名称。
答案 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()
方法。