使用python软件如何关闭弹窗_如何通过按钮关闭Kivy弹出窗口?

在Kivy应用中,作者遇到一个问题:弹出窗口的“否”按钮点击后导致应用退出并抛出AttributeError。问题源于`on_press=self.popup_exit.dismiss`,其中`Button`对象没有`popup_exit`属性。解决方案是正确引用`Popup`对象的关闭方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有一个用Kivy创建的弹出窗口,其中包含2个按钮。用户可以通过按弹出区域之外的按钮(auto_dismission=True)或单击“否”按钮来关闭弹出窗口。

选择“是”按钮,将退出整个应用程序。在

请参阅相关代码:class ExitApp(App):

def exit_confirmation(self):

# popup can only have one Widget. This can be fixed by adding a BoxLayout

self.box_popup = BoxLayout(orientation = 'horizontal')

self.box_popup.add_widget(Label(text = "Really exit?"))

self.box_popup.add_widget(Button(

text = "Yes",

on_press = ExitApp.exit,

size_hint = (0.215, 0.075)))

self.box_popup.add_widget(Button(

text = "No",

on_press = self.popup_exit.dismiss,

size_hint=(0.215, 0.075)))

self.popup_exit = Popup(title = "Exit",

content = self.box_popup,

size_hint = (0.4, 0.4),

auto_dismiss = True)

self.popup_exit.open()

def exit(self):

App.get_running_app().stop()

现在的问题在于按下“否”按钮。当按下时,代码将退出,并出现以下错误:on_press = self.popup_exit.dismiss,

AttributeError: 'Button' object has no attribute 'popup_exit'

你知道我怎样才能尽可能容易地解决这个问题吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值