Что делать с "No file found for ".xml" , even though update-mime-info said it would exist" ?

No file found for ".xml" , even though update-mime-info said it would exist.
Either it was just removed, or the directory doesn't have executable permission... ("/usr/share/mime")

Выдаётся оно при QFileDialog::exec() тут:

    QFileDialog fileDialog(this, tr("Save As"), initialPath);
    fileDialog.setAcceptMode(QFileDialog::AcceptSave);
    fileDialog.setFileMode(QFileDialog::AnyFile);
    fileDialog.setDirectory(initialPath);
    QStringList mimeTypes;
    foreach (const QByteArray &bf, QImageWriter::supportedMimeTypes())
        mimeTypes.append(QLatin1String(bf));
    fileDialog.setMimeTypeFilters(mimeTypes);
    fileDialog.selectMimeTypeFilter("image/" + format);
    fileDialog.setDefaultSuffix(format);
    if (fileDialog.exec() != QDialog::Accepted)
        return;

Вот что рекомендуют:
install kinit kio kio-extras kded5
Всё это установлено.

Qt: 5.6.1
Szkielety KDE: 5.26.0
kf5-config: 1.0

Kubuntu 16.10 amd64
Ядро: Linux 4.8.0-41-generic x86_64
Телефон: белый

Спасибо.

0
fox4 - 9 Март, 2017 - 16:13
Изображение пользователя fox4.

По вашему коду непонятно что содержит переменная format по идее это должно быть имя файла "blabla".xml расположенного по пути /usr/share/mime/image/
Проверьте создан ли файл с таким именем ну и с правами доступа надо разобраться я думаю что ваша программа запускается из под пользователя а путь и файл куда записывается тип явно для root

0
fox4 - 9 Март, 2017 - 18:37
Изображение пользователя fox4.

В довесок проверьте у себя этот путь "/home/ваш_user/.local/share/mime"
на предмет наличия папки image и файла "blabla".xml ну или что там у вас в переменной format.
при отсутствии создайте сначала вручную потом можно добавить в код.

0
Bogdan - 9 Март, 2017 - 19:25

format это расширение "png", под которым будет сохраняться файл.

Файл /usr/share/mime/image/png.xml существует. Там XML.

Этот QFileDialog не пишет ничего. Лишь возвращает имя файла, под которым далее будет запись. Путь там хомячный, права есть

У меня этой директории $HOME/.local/share/mime/ нет

Посмотрел рядом в Kubuntu 14.04 - в ней есть. Её содержимое:
ls -1 /usr/share/mime/image/

aliases
application
generic-icons
globs
globs2
icons
magic
mime.cache
packages
subclasses
treemagic
types
version
XMLnamespaces

И в ней нет директории image
(возможно потому что 14.04)

А у Вас она есть?

file $HOME/.local/share/mime

0
fox4 - 9 Март, 2017 - 20:22
Изображение пользователя fox4.

И в ней нет директории image
А у Вас она есть?
Нет у меня по хомячьему пути тоже нету директории image но я натыкался на интересный случай когда программа основанная на Qt глючно работала пока ей не создали в хомячной области $HOME/.local/share/mime/
соответствующий xlm файл
Возможно папку image тоже придётся добавить.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры