QML:在Android上选择图像(没有java桥和东西)

问题描述 投票:2回答:1

我想从Qt 5.9(使用Qt Quick和一些c ++)编写的应用程序中的现有文件中选择一个图像。我试图使用FileDialog from QML(官方示例here),但当我在模拟器中运行它时,它看起来像这样:funny open dialog

我确实读过这篇博文http://amin-ahmadi.com/2015/12/08/how-to-open-android-image-gallery-in-qt/,它解释了如何使用本机代码进行图库选择,虽然我想知道是否同时Qt进展使得这样的任务以更直接的方式随时可用。

编辑:提示是FileDialog.shortcut documented here说:

包含用户图片或照片的目录。它始终是一种文件:URL;但在某些平台上,它将是专用的,因此FileDialog将被实现为图库浏览器对话框。

android qt qtquick2
1个回答
1
投票

迟到总比不到好:

您的应用程序可能使用高DPI缩放,它会自动缩放具有更高DPI的显示器上的QtQuick.Controls 2。在main.cpp中:

QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

基本上,应用中的px大小不再代表物理像素。一些(较旧的)Qt组件,其中之一是FileDialog,在该设置上无法正常工作。删除它应该可以解决您的问题,但可能会影响您应用的视觉外观。更多信息:https://blog.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6/

您可以尝试使用FolderListModel:https://doc.qt.io/qt-5/qml-qt-labs-folderlistmodel-folderlistmodel.html构建自己的FileDialog


0
投票

还有一个QML组件可用于显示和选择单个或多个图像。你可以在这里找到更多信息:https://felgo.com/updates/release-3-2-0-qt-5-12-3-subscriptions

您也可以在手机上进行测试:https://felgo.com/web-editor/?snippet=77c7ad94

© www.soinside.com 2019 - 2024. All rights reserved.