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
Телефон: белый
Спасибо.
По вашему коду непонятно что содержит переменная format по идее это должно быть имя файла "blabla".xml расположенного по пути /usr/share/mime/image/
Проверьте создан ли файл с таким именем ну и с правами доступа надо разобраться я думаю что ваша программа запускается из под пользователя а путь и файл куда записывается тип явно для root
В довесок проверьте у себя этот путь "/home/ваш_user/.local/share/mime"
на предмет наличия папки image и файла "blabla".xml ну или что там у вас в переменной format.
при отсутствии создайте сначала вручную потом можно добавить в код.
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
Нет у меня по хомячьему пути тоже нету директории image но я натыкался на интересный случай когда программа основанная на Qt глючно работала пока ей не создали в хомячной области $HOME/.local/share/mime/
соответствующий xlm файл
Возможно папку image тоже придётся добавить.
Отправить комментарий