Как проверить есть ли у системы возможность открыть файл?

168
16 февраля 2018, 19:24

есть абсолютное имя файла QString filePath. Надо из программы вызвать открытие этого файла стандартной для системы утилитой. Делаю это так:

QDesktopServices::openUrl(QUrl::fromLocalFile(filePath))

И, если программа для открытия такого файла есть, то все хорошо. Но если ее нет, то ничего абсолютно не происходит (проверял только OS Ubuntu 16, но нужно кроссплотформенное решение), только в логи выводит

gvfs-open: filePath: ошибка открытия адреса: Нет зарегистрированного приложения для обработки данного файла

bool возвращаемый openUrl пропускает это спокойно, похоже что он проверяет только валидность url'a.

Как узнать что система не смогла найти программу для открытия и вставить, хотя бы, сообщить пользователю об этом?

READ ALSO
Не работает XOR

Не работает XOR

Второй день пытаюсь сделать шифрование Xor'ом, но все никак не получаетсяВот мой код

179
Показывает Мусор при запуске

Показывает Мусор при запуске

Ваши условия не покрывают случай, когда i или j равно n, а стало быть в ячейках с этими индексами остаются неинициализированные данныеПросто...

231
Можно ли QLineEdit сделать многострочным?

Можно ли QLineEdit сделать многострочным?

Можно ли QLineEdit сделать многострочным? Я имею ввиду чтобы там оставалась одна строка, нельзя было enter нажать, просто чтобы буквы отображались...

174
QscriptEngine Qt/C++ парсинг строки

QscriptEngine Qt/C++ парсинг строки

Помогите исправить код надо вместо 3 * 3 * 3 чтобы было сразу 3^3

263