【发布时间】:2020-06-16 18:11:56
【问题描述】:
最近我更改了我的代码,因为我的 GUI 太复杂了,我想在 python 中编写我的弹出窗口,而我的其他 GUI 元素是在一个单独的 kivy 文件中创建的。 从 kivy 我从按钮和 on_release 事件调用弹出窗口:
Button:
on_release:
root.confirmPopup()
在python中我有以下定义(不要介意缩进):
def confirmPopup(self): #call from kivy-file with root.confirmPopup()
#create popup
self.confPop = Popup()
self.confPop.title = 'Confirm Action'
self.confPop.auto_dismiss = False
self.confPop.size_hint = (None, None)
self.confPop.size = (400, 300)
#create popup-content
# def confAct():
# lambda *args: self.confPop.dismiss()
# print('test')
confBox = BoxLayout()
confBox.orientation = 'vertical'
confBox.add_widget(Label(text='Please confirm your action!',
pos_hint = {'center_x': .5, 'center_y': .5},
halign='center'))
confBox.add_widget(Button(text='Accept'))
confBox.add_widget(Button(text='Cancel',
on_release=lambda *args: self.confPop.dismiss()))
#on_release=confAct()))
#add content, open popup
self.confPop.content = confBox
self.confPop.open()
如您所见,我尝试创建一个内部函数,我对此进行了评论,因为它无法正常工作。 我的问题是:如何向 on_release 添加多个操作? 我可以向 on_press 添加一个操作,向 on_release 添加一个操作,但这不是我想要的。我尝试将多个 on_release 事件绑定到按钮,用 ; 分隔命令,依此类推,但没有任何效果。在 kivy 中,我可以在 on_release 之后为每个命令添加一个带有缩进的新行。
【问题讨论】: