Чтобы открыть файл в текущем каталоге, вы просто вызываете конструктор QFile
Я проверил это на своей машине с Linux, и она работает
#include <QtCore>
int main(int argc, char** argv){
QFile some_file("test.xml");
if(!some_file.open(QIODevice::ReadOnly | QIODevice::Text)){
qDebug() << "Unable to open file";
} else {
qDebug() << "File open successfully";
}
exit(-1);
}
Я запускаю ./TestQFile и, если в текущем каталоге есть файл test.xml, он работает.
ОБНОВЛЕНИЕ: я заметил, что формулировка вашего вопроса говорит, что вы хотите, чтобы файл находился в том же каталоге, что и исполняемый файл, это можно сделать следующим образом:
// Getting directory of the executable
QFileInfo exec_fileinfo(argv[0]);
qDebug() << "Executable is in" << exec_fileinfo.absolutePath();
ОБНОВЛЕНИЕ 2: Под панелью проекта QtCreator есть поле для Рабочего каталога. Это каталог, который возвращается QDir :: currentPath (), если вы запускаете его через QtCreator.