我开发了一个Beeware应用程序,我想找到一种方法,在我的Android手机上显示手机存储中的.png
张图片.我知道Beeware
中的Toga
图形用户界面既不支持ImageView
,也不支持android
上的WebView
,而且我找不到任何与Beeware
兼容的third party module
.这方面有什么解决办法吗?我将在下面附上在Windows中工作但在Android中不起作用的相关代码,以及导致崩溃的异常
UPDATE:我在下面的答案后面更正了mhsmith
,它工作得很好!非常感谢.我更新了下面的代码以反映正确的脚本
import toga
from toga import App, Box, MainWindow
from toga import ImageView, Image
from toga.style import Pack
from toga.style.pack import COLUMN, ROW, BOTTOM, TOP, LEFT
with open('/storage/emulated/0/documents/my_picture.bmp',"rb") as f:
image_data = f.read()
image_bytes = bytes(image_data)
class HelloWorld(toga.App):
def startup(self):
main_box = toga.Box(style=Pack(direction=COLUMN))
self.myImage = toga.images.Image(data=image_bytes)
self.img=toga.ImageView(image=self.myImage)
main_box.add(self.img)
self.main_window = toga.MainWindow(title=self.formal_name)
self.main_window.content = main_box
self.main_window.show()
def main():
return HelloWorld()