首页 > 编程问答 >如何让 flet 在 iOS 上打开照片而不是文件?

如何让 flet 在 iOS 上打开照片而不是文件?

时间:2024-07-31 10:29:11浏览次数:15  
标签:python flet

我正在尝试使用 Flet 构建一个 Python 移动应用程序,我需要它做的事情之一就是接受用户的照片或视频。使用 flet 文档,我尝试了以下代码:

ft.ElevatedButton("Choose files...",
    on_click=lambda _: file_picker.pick_files(allow_multiple=True))

在 iOS 上打开文件选择器。这就是这段代码应该做的事情。然而,我的问题是是否有办法打开 iOS 照片选择器。

我已经尝试了多种方法来实现此目的。我考虑过的一个选择是使用 Flet 中已经编写的 Flutter 小部件来完成此任务,但我在 flutter 和 dart 方面缺乏经验,这使得这个过程非常困难。

我想知道是否有人找到了一种更简单的方法来访问iOS 照片选择器而不是文件。


目前,Flet 没有提供直接访问 iOS 照片选择器的内置方法。Flet 中的 file_picker.pick_files 方法是基于 Flutter 的 file_picker 插件,该插件在 iOS 上调用默认的文件选择器。

但是,可以通过以下几种方法尝试实现的目标:

1. 使用 Flet 的外部方法调用:

  • 可以创建一个自定义的 Flutter 插件,使用 image_picker 插件来访问 iOS 照片选择器。
  • 然后,可以使用 Flet 的外部方法调用功能从的 Python 代码中调用这个自定义 Flutter 插件。

这需要编写一些 Dart 代码,但这可以让完全控制 iOS 照片选择器。

2. 使用 WebView 和 JavaScript:

  • 可以创建一个简单的网页,使用 HTML 的 <input type="file" accept="image/*,video/*"> 元素来调用 iOS 照片选择器。
  • 然后,可以使用 Flet 的 WebView 组件将这个网页嵌入到的应用程序中。

这种方法不需要编写任何 Dart 代码,但可能需要更多代码来处理从 JavaScript 到 Python 的文件传输。

3. 等待 Flet 更新:

  • 可以向 Flet 开发团队提交一个功能请求,要求他们添加对直接访问 iOS 照片选择器的支持。

这可能是最简单的解决方案,但它取决于 Flet 开发团队是否会实现此功能。

一些额外的提示:

  • 可以参考 Flet 和 Flutter 的文档,了解更多关于外部方法调用、WebView 和自定义插件的信息。
  • 可以在 GitHub 上搜索现有的 Flutter 插件,看看是否有任何插件可以满足的需求。

请注意,以上方法都需要对 Flutter 和 Dart 有一定的了解。如果不熟悉 Flutter,建议先学习一些 Flutter 的基础知识。

标签:python,flet
From: 78814234

相关文章

  • python导入包报错ImportError: cannot import name ‘Protocol‘
    python32.pyTraceback(mostrecentcalllast):File"2.py",line5,in<module>importptwt#use"fromsrcimportptwt"foraclonedtherepoFile"……lib/python3.6/site-packages/ptwt/_util.py",line2......
  • Python - Creating your own Iterator
    Inourfirstexample,wewillcreateiterableobjects,which,wheniteratedover,willgiveoutcubesofnumbers,andtheseobjectswillsupportmultipleiterations.classCubes:def__init__(self,start,stop):self.start=startsel......
  • 三种语言实现前缀和(C++/Python/Java)
    题目输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l,r对于每个询问,输出原序列中从第l个数到第r个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。......
  • Python - 旨在通过命令提示符执行数据清理,但代码似乎无法运行
    我从一位同事那里收到了这段代码,我打算用它来处理100csv文件以提取有关粒子的值。代码如下所示:importsysimportcsv#Usage#skdata_decode.py[inputfile1][inputfile2]...#(Itispossibletousefiledcardtospecifyinputfiles.)##l......
  • 如何在 python 终端中的 x,y 位置上书写(基于文本)
    我想在python(基于文本)的终端中的定义位置(x,y)上写入字符。假设,我有一个大小为25x80的终端,并且想要在位置(2,20)上写入字符。我可以在Python中执行此操作吗?现在,我使用25x80数组,并写入该数组。为了在屏幕上显示,我清除屏幕并将该数组的全部内容写入屏幕,但这效......
  • Python - Composition
     classEngine:def__init__(self,power):self.power=powerdefstart(self):self.draw_current()self.spin()self.ignite()defdraw_current(self):print('Drawingcurrent')defspin(sel......
  • Python - Iterator vs Iterable
    Therearemanybuilt-infunctionsandmethodsthatreturniterablesanditerators.Hereareafewexamples:range()returnsaniterabledict.keys()returnsaniterabledict.items()returnsaniterabledict.values()returnsaniterableenumerate()returns......
  • 在python中使用变量引用Panda列名称
    我正在尝试编写一个函数来简化我的代码,因此我传递了包含列名称的变量。它适用于Django应用程序,调试器不会对我的错误所在提供任何反馈,只是“内部服务器错误”。我的代码工作正常,不是作为函数编写的:df_trips['trip_time_prep_starts']=df_trips["trip_time_prep_sta......
  • 如何在 Pyqt5 Python 中实现 QTableWidget 列过滤器中的搜索栏?
    我使用pyqt5创建了一个QTableWidget,并成功地在表格小部件的每一列中添加了过滤选项,并使用堆栈溢出上可用的答案之一。过滤器按预期工作,但我想在顶部的过滤器中添加搜索栏来搜索值。在我的python脚本中,过滤器中可能有大约50多个唯一值。因此,如果有一种方法可以在过滤器......
  • Python - Abstract Base classes
    Wehaveseenthatifwehavetodefineagroupofclassesthathavesimilarfeaturesandshowcommonbehavior,wecandefineabaseclassandtheninherittheclassesfromit.Inthederivedclasses,wehavethechoicetoeitherusethebaseclassversion......