[Сниппеты Qt] Как открыть документ при запуске своей программы

Дмитрий Филатов
Путь к открываемому файлу передаётся в качестве первого параметра при запуске соответствующей программы. Кроме имени файла в открываемую программу можно передать, например, номер документа, который должен открыться при старте программы (если документы берутся из, скажем, базы данных). В программе нам нужно просто получить передаваемый ей параметр и должным образом обработать его. Вот возможный вариант такого кода (его следует разместить в самом начале MainWindow::MainWindow(){} или оформить в виде функции и вызвать её из файла main.cpp: w.openOnStart();).

Получение номера открываемого при старте программы документа

if(QCoreApplication::arguments().count() >= 2){
int doc_num = QCoreApplication::arguments().at(1).toInt();
//Выполнение нужного действия
}

Чтобы ассоциировать файл с Вашей программой, можно вызвать контекстное меню "Открыть с помощью" или внести соответствующую запись в реестр (например, при установке программы воспользоваться такой функцией инсталлятора). Чтобы запустить программу и передать ей нужный номер документа, следует выполнить команду <Имя_программы> <Номер>: opendoc.exe 5.
2015-10-05