alex_lip
March 14, 2018, 7:25 p.m.

FileDialog QML

Попробовал использовать FileDialog в QML  -  на десктопе смотрится прилично - а на телефоне какие-то огромные кнопки, которые друг друга перекрывают. Куда смотреть?
Вот код из доки

import QtQuick 2.2
import QtQuick.Dialogs 1.0

FileDialog {
    id: fileDialog
    title: "Please choose a file"
    folder: shortcuts.home
    onAccepted: {
        console.log("You chose: " + fileDialog.fileUrls)
        Qt.quit()
    }
    onRejected: {
        console.log("Canceled")
        Qt.quit()
    }
    Component.onCompleted: visible = true
}
2

Do you like it? Share on social networks!

3
Evgenii Legotckoi
  • March 16, 2018, 5:33 p.m.
  • (edited)

FileDialog как оказалось не оптимизирован для использования с включённой опцией для экранов с большим разрешением.

Qt::AA_EnableHighDpiScaling
То есть, если удалить из main.cpp следующую строку
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
То диалог будет иметь нормальные размеры кнопок, но при этом весь остальной интерфейс пойдёт коту под хвост.
Так что это недоработка самого Qt, можете попробовать написать собственный менеджер каталогов и файлов, хотя это конечно очень накладно.

Впрочем, он даже с нормальным видом выглядит так себе на андроид устройствах.
    alex_lip
    • March 16, 2018, 5:48 p.m.

    А динамически эту опцию можно менять?

      Evgenii Legotckoi
      • March 16, 2018, 6:05 p.m.

      Теоретически, если прокинуть сигнал/слотовое соединение то может и сработать... но это такой костыль костыльный...
      Попробуйте, может что-то и сработает, если там не принципиально для инициализации в самом начале работы приложения. Или заработает, или упадёт )))

        Comments

        Only authorized users can post comments.
        Please, Log in or Sign up
        • Last comments
        • AK
          April 1, 2025, 11:41 a.m.
          Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
        • Evgenii Legotckoi
          March 9, 2025, 9:02 p.m.
          К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
        • VP
          March 9, 2025, 4:14 p.m.
          Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
        • ИМ
          Nov. 22, 2024, 9:51 p.m.
          Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
        • Evgenii Legotckoi
          Oct. 31, 2024, 11:37 p.m.
          Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup