Qt открыть файл программой по умолчанию

Содержание

Я пытаюсь открыть руководство в формате PDF для некоторого оборудования из моего приложения. Он будет запущен из меню помощи. Кажется, я не могу заставить мое приложение открывать файл по относительному пути с помощью приложения ОС по умолчанию. я нашел

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

Но это не открывается с

Кто-нибудь делал это раньше?

Источник: question-it.com

Открытие файла

Рекомендуем хостинг TIMEWEB

Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Читайте также:
Программа автоматически сохраняет пароли

#017 — Диалог открытия файлов в Qt 5.14.0

Подписка на обсуждение 0
Подписка на раздел 227

Вам это нравится? Поделитесь в социальных сетях!

Evgenii Legotckoi

  • Evgenii Legotckoi
  • #
  • 12 января 2017 г. 8:13

QProcess не открывает нужную программу в зависимости от типа файла. Необходимо сначала выяснить, какого типа является файл, а потом уже открывать нужную программу через QProcess, передав ей в качестве аргумента путь к файлу.

Самый простой способ определения типа файла — это проверить его расширение, то есть .txt или .svg на конце к примеру. А потом уже открывать нужную программу из возможных установленных в системе.

QString program_1 = «gedit»; // Текстовый редактор Gedit в Linux QString program_2 = «inkscape»; // Векторный редактор Inkscape QString fileName = «/home/some_user/check.txt»; // Абсолютный путь к файлу в Linux QProcess *myProcess = new QProcess(this); if (fileName.endsWith(«.txt»)) < myProcess->start(program_1, QStringList() else if (fileName.endsWith(«.svg»)) < myProcess->start(program_2, QStringList()

Заметьте, что необходимо учитывать синтаксис командной строки для каждой программы, которую Вы намерены открывать через QProcess.

QProcess не имеет представления о программах установленных на ПК, то есть о программах по умолчанию для файлов.

А вот о программах по умолчанию знает класс QDesktopServices, и он должен открывать нужные софтины просто по URL файла:

QDesktopServices::openUrl(QUrl(«/home/some_user/check.txt»));

Источник: evileg.com

Русские Блоги

Ubuntu указывает режим открытия файла по умолчанию (принять QT Creator в качестве примера)

Ubuntu 14.04 32-битная система, хочу использовать Qt Creator, чтобы сделать редактор кода под Ubuntu. Ранее установленные qt4.8.6 поставляется с Qt Creator 2.4.1, слишком старый, текущий CT Creator — это уже 64-битные версии под Linux, а официальный последний верситель Linux 32 — 3.5.1. Вы не можете выбрать открыть версию 3.5.1 по умолчанию после установки. В открытом режиме нет CT Creator 3.5.1, поэтому изучите список режимов Open Mode.

Информация о запросах нашла, что программное обеспечение настройки Ubuntu по умолчанию для открытия режима:

Системный режим открытия по умолчанию сохраняется /usr/share/applications/defaults.list

Новый открытый режим сохраняется ~/.local/share/applications/mimeapps.list

(Примечание ~ представляет / home / alex, личная папка под домой)

Как открыть файл на компьютере в Qt? | Диалоговые окна

Читайте также:
Autodesk fusion 360 описание программы

/ Usr / share / filication файл

Скриншот списка открытых режимов

В основном мы добавляем открытый режим, переключайтесь в каталог ~ / .Local / Share / Chare / Applications, измените файл mimeApps.list под его каталогом, и добавьте файл открытого режима. Файл формата Desktop.

Содержание в Qt-Creationor351.desktop заключается в следующем ( Обратите внимание, что за каждую строку нет места. Если вы введете правильное, вы будете использовать Gedit, чтобы открыть его. В противном случае, если вы черные, цвет файла, который я только начал, черный, потому что есть пробелы позади. Все предметы могут быть изменены в соответствии с реальной ситуацией):

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Name=QtCreator351
Comment=QtCreator351
NoDsiplay=true
Exec=/opt/qtcreator-3.5.1/bin/qtcreator %f
Icon=/opt/qtcreator-3.5.1/share/pixmaps/logo/64/qtcreator.png
Name[en_US]=Qt-Creator351

Qt-Creationor351.desktop Открыть с GEDIT и отображается в / usr / share / share / privents Сравнение папок

Добавьте строку в ~ / .local / Share / Applications / mimeapps.list.

Обновить информацию шахты

Терминал вводит следующие инструкции:
sudo update-mime-database /usr/share/mime

Источник: russianblogs.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru