我正在尝试使用 Qt 打开 ios 图库,我发现了很多文章和答案。我测试了它们,但它们在 ios(10) 中不起作用
这是两个对我不起作用的链接
链接 1:使用 FileDialog{} 打开 ios 图库 https://stackoverflow.com/questions/33443114/photo-gallery-in-ios-and-android
链接 2:混合 Objective-c 和 Qt 访问 ios 中的图库 https://github.com/benlau/quickios
第一个链接解释了如何使用 FileDialog 打开图库,根据链接及其描述:
在 iOS 中,只需在 QML 文件中创建一个 FileDialog 并设置文件夹:
快捷方式.图片。它将调用 iOS 图库。
。下面是我的代码,但它不起作用!
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Dialogs 1.0
ApplicationWindow {
visible: true
width: 640
height: 480
FileDialog {
id: fileDialog
visible: true
folder: shortcuts.pictures
}
}
第二个链接,我无法编译它,并且收到此错误
ld: '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a(arclite.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
** BUILD FAILED **
The following build commands failed:
Ld Debug-iphonesimulator/QuickIOSExample.app/QuickIOSExample normal x86_64
(1 failure)
make: *** [xcodebuild-debug-simulator] Error 65
14:05:48: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project quickiosexample (kit: iphonesimulator-clang Qt 5.8.0 for iOS)
When executing step "Make"
谢谢您的回答 :)
画廊的解决方案是:
Android
1)安卓图库 https://forum.qt.io/topic/59813/photo-gallery-in-ios-and-android/10
IOS
import QtQuick 2.8
import QtQuick.Controls 2.1
import QtQuick.Controls.Material 2.2
import QtQuick.Controls.Universal 2.1
Rectangle {
id:rootOpenGallery
y: Global.getMaxHeight()
color: "transparent"
implicitWidth: 85
implicitHeight: openGallery.height
function visibleAnimation(visible)
{
if(visible===true)
animShow.start();
else
animHide.start();
}
PropertyAnimation { id: animHide;
target: rootOpenGallery;
property: "opacity";
to: 0.0
duration: 900 }
PropertyAnimation { id: animShow;
target: rootOpenGallery;
property: "opacity";
to: 1.0
duration: 900 }
Button{
id:openGallery
anchors.fill: parent
//highlighted: true
Material.background: "#00796B"
Text{
text:"Gallery";
height: parent.height;
anchors.left: parent.left;anchors.leftMargin: 5
font.family: Global.fontByekan; verticalAlignment: Text.AlignVCenter;
}
Image {
sourceSize.height: 32; sourceSize.width: 32
height: parent.height
anchors.right: parent.right; anchors.rightMargin: 5
fillMode: Image.Pad
source: "../../images/Gallery-image.svg"
}
onClicked: {
picker.showImagePicker();
}
}
ImageDialog{
id: picker
multiSelect: true
onImageSelected: {
for(var i=0;i<urls.length;i++)
if(checkDuplicate(urls[i])===false){
picListModel.append({"checked":true , "fileName":urls[i] , "upload": false,"errorDescription":""})
}
}
function checkDuplicate(url){
for(var i=0;i<picListModel.count;i++) {
if(picListModel.get(i).fileName===url)
return true;
}
return false;
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)