我正在为我的应用程序构建GUI,并且试图从文件对话框中加载图像。 有人有什么建议吗?这是我的第一个Kivy应用程序,有时我无法完全理解文档。我已经尝试了多种方法,但最好的结果是屏幕左下方的图像。
我已经尝试过Placing an image in the middle of the label in Kivy的解决方案,但这并不能解决我的问题。
我的.kv文件的一部分:
<RunDemoScreen>:
GridLayout:
rows: 3
cols: 2
Button:
text:"Test"
Button:
text:"File"
on_press: root.file_dialog()
Button:
text: 'Back'
on_release: root.manager.current = 'menu'
我的python代码的一部分:
class RunDemoScreen(Screen):
def file_dialog(self):
Tk().withdraw()
self.filename = askopenfilename()
print(self.filename)
此代码中的所有内容都可以正常工作。
答案 0 :(得分:0)
您需要创建一个图像小部件,然后使用您要为其分配的ID将图像的源更改为self.filename变量
.kv中的
:Image:
id: imageWidget
source: ''
opacity: 0 # to make it completely invisible till your add a source file
.py中的
:def file_dialog(self):
Tk().withdraw()
self.filename = askopenfilename()
imageWid = self.ids['imageWidget']
imageWid.source = self.filename
imageWid.opacity= 1 # to make it visible