У меня есть программа, которая будет принимать несколько разных файлов в качестве входных данных.
Все, что я собираюсь знать, это то, что файлы будут находиться в той же папке, что и моя программа (и я знаю их имена).
Есть ли способ записать путь к файлу, зная только его имя и который будет находиться в той же папке, что и основная программа?
Вы ищете их в QCoreApplication.
QString QCoreApplication :: applicationDirPath () [статические]
Возвращает каталог, содержащий исполняемый файл приложения.
Например, если вы установили Qt в каталог C: \ Qt и запустили пример регулярного выражения, эта функция вернет «C: / Qt / examples / tools / regexp».
В Mac OS X это будет указывать на каталог, фактически содержащий исполняемый файл, который может находиться внутри пакета приложения (если приложение связано)
Предупреждение: в Linux эта функция попытается получить путь из файловой системы / proc. Если это не удается, предполагается, что argv [0] содержит абсолютное имя файла исполняемого файла. Функция также предполагает, что текущий каталог не был изменен приложением.
а также
QString QCoreApplication :: applicationFilePath () [статические]
Возвращает путь к файлу исполняемого файла приложения.
Например, если вы установили Qt в каталог / usr / local / qt и запустили пример regexp, эта функция вернет «/ usr / local / qt / examples / tools / regexp / regexp».
Предупреждение: в Linux эта функция попытается получить путь из файловой системы / proc. Если это не удается, предполагается, что argv [0] содержит абсолютное имя файла исполняемого файла. Функция также предполагает, что текущий каталог не был изменен приложением.
В зависимости от вашего конкретного случая использования, вы используете один из них, возможно, первый, если вы хотите получить путь к исполняемому файлу + другие ваши файлы.
Если вы уверены, что файлы находятся в той же папке вашей программы, вы можете использовать:
QCoreApplication::applicationFilePath()