LINUX.ORG.RU

Диалог выбора файла в QML: есть ли хоть один рабочий?

 , , диалог выбора файла


0

1

В QML есть тип FileDialog - это готовый QML диалог для выбора файла. Похоже, что у него несколько реализаций в самом QML. Чтобы его использовать надо подключить:

import Qt.labs.platform 1.0 - тогда на мобильном устройстве будет отображаться цветной диалог выбора FileDialog, явно недоделанный, с полосами прокрутки как на десктопе и надписью Computer в сайдбаре. У этого диалога отсутствуют свойства width и height, и его невозможно распахнуть на весь экран. При вертикальной ориентации он отображается высотой в половину экрана. Если повернуть экран когда этот диалог открыт, он съедет в нижний левый угол, причем нижних кнопок будет невидно.

import QtQuick.Dialogs 1.1 - на мобильном устройстве будет отображаться олд-стайловый черно-белый диалог выбора FileDialog. Он имеет свойства width и height, поэтому его можно распахнуть на весь экран. И им почти можно пользоваться. Его проблема в том, что он рандмно то может, то не может отображать файлы из каталога по-умолчанию. Раз в 5-8 открытий показывает пустой список. И если при пустом списке нажать кнопку «на каталог вверх», то ничего не происходит.

Вот. Есть ли для QML нормальные диалоги выбор файла? Может быть опенсорчные реализации. Актуальные и работающие.

★★★★★

Последнее исправление: Xintrea (всего исправлений: 2)

https://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html

A FileDialog window is automatically transient for its parent window. So whether you declare the dialog inside an Item or inside a Window, the dialog will appear centered over the window containing the item, or over the Window that you declared

Если я понял правильно, ты можешь загнать диалог внутрь простого item-а, у которого уже есть ширина и высота.

// Сам с QML ни разу не сталкивался

XMs ★★★★★
()
Ответ на: комментарий от Xintrea

Ничего удивительного, что диалог из Qt.labs.platform выглядит плохо, в документации написано, что на Android он не готов.

Второй еще более старый и не подходит для мобильных ОС. Я года три назад писал велосипед на FolderListModel, было не сложно. Сегодня есть куча готовых, можно еще вот этот попробовать.

CrossFire ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.