2015-07-11 10 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(). Чтобы вызвать диалоговое окно open, вам понадобится метод QDialog::getOpenFileName().

Смежные вопросы