Подтвердить что ты не робот

Как получить исполняемое имя в Qt

Я запускаю приложение Qt, то, что я хочу знать, - это имя исполняемого двоичного файла.

4b9b3361

Ответ 1

Я должен (частично) не соглашаться с другими комментариями, что это не вопрос Qt: существует метод Qt QCoreApplication::applicationFilePath(), который дает директорию + имя файла исполняемого файла.

В Linux это попытается использовать /proc, а в Windows возможно GetModuleFileName(). Согласно документам он вернется к argv[0].

Затем вы можете использовать QFileInfo, чтобы разбить его на исполняемое имя и каталог.

QFileInfo(QCoreApplication::applicationFilePath()).fileName()

Ответ 2

Qapplication анализирует аргументы командной строки, первая запись - это имя исполняемого файла - это примерно то же самое, что и argv [0] в стандарте C, но имеет несколько дополнительных сложностей в окнах, если у вас есть сборка Unicode или если приложение запускается как служба

См. http://doc.qt.io/qt-5/qcoreapplication.html#arguments

Ответ 3

Опять не вопрос Qt. Чтобы найти имя исполняемого двоичного файла, это будет что-то вроде.

#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
  cout << argv[0] << endl;
  return 0;
}

Ответ 4

Это не вопрос Qt. Я предполагаю, что вы имеете в виду Qt в С++ (по сравнению с python). Вы получаете имя программы из аргумента firs аргумента argv в вашем main(). Qt не может знать двоичное имя, если вы не сохраните его в main() где-нибудь