如何防止在 kivy 应用程序中关闭 x 上的窗口

2024-02-20

有没有办法通过单击右上角的“x”直到满足特定条件来防止关闭kivy窗口?


您可以通过绑定窗口来做到这一点on_request_close有一个函数来检查是否满足条件:

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.label import Label


class Base(Label):
    def __init__(self, **kwargs):
        super(Base, self).__init__(**kwargs)
        Window.bind(on_request_close=self.exit_check)
        self.counter = 0
        self.text = str(self.counter)

    def exit_check(self, *args):
        self.counter += 1
        if self.counter < 5:
            self.text = str(self.counter)
            return True  # block app's exit
        else:
            return False  # let the app close


class SampleApp(App):
    def build(self):
        return Base()


if __name__ == "__main__":
    SampleApp().run()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止在 kivy 应用程序中关闭 x 上的窗口 的相关文章

随机推荐

  • 改善进度条性能不佳

    我正在尝试使用 MobX 存储将进度状态传递给其他进度栏 有两个进度条 其中之一应在短时间内 约2秒 独立变化 我用了setTimeOut增加目前的进度并且效果很好 然后我尝试将当前进度值保存到 MobX 存储中以传递给另一个组件 此后 进
  • Excel 进程卡在任务管理器中

    在 Access 中 我打开一个 Excel 文件 从中读取并关闭它 Excel 进程不会离开任务管理器 我发现同样的问题here https social msdn microsoft com Forums en US 908ba72a
  • Prolog - 从事实列表中获取集合的最大值(使用失败谓词)

    基本上我有一个这样的事实清单 set x 2 set x 7 set x 10 set x 4 我需要找到这个集合的最大元素 Input maximum x MaxElement Output MaxElement 10 现在这个想法本身并
  • Android人像相机可靠性

    我正在开发一个针对 SDK 8 的应用程序 最小 SDK 7 使用相机视图 显然 旋转相机拍摄肖像的问题已经引起了相当多的讨论 我目前有以下修复程序将 SDK 7 和 8 分开 if android os Build VERSION SDK
  • 如何在闪亮的应用程序中使用观察功能调整错误

    我想对下面的代码进行调整 请注意 我有两个输入选项 Excel and Database 如果你选择 input button Excel do data lt reactive Test 如果是input button database
  • 使用 boost Spirit 语法构建错误(boost 1.43 和 g++ 4.4.1)第三部分

    Ok 我正在尝试构建一个语法 目前它看起来像这样 ifndef INPUTGRAMMAR H define INPUTGRAMMAR H include
  • 如何在应用程序购买中设置自动续订以满足 Apple 准则?

    我有 2 个自动续订的应用内订阅正在接受 Apple 审核 但我一直被拒绝 请注意 这与 IAP 产品 显然尚未经过审查 无关 而是与我如何在 UI 中呈现信息有关 我永远无法让苹果明确说明如何克服拒绝 我上诉了一次 但再次被拒绝 尽管我确
  • 纯 HTML 中的彩色 SVG 在 React 中是全黑的。为什么?

    我在 Meteor 中使用 React 当我将 SVG 添加到 React 组件时 样式不会应用 但同样的代码在纯 HTML 中可以按预期工作 这是我的 SVG 代码
  • Google 地图 v3 API 扩展范围。 JavaScript 操作方法?

    function initialize Creating a map var map new google maps Map document getElementById map zoom 10 center new google map
  • Android:如何获取当前的前台活动(从服务)?

    有没有一种原生的 android 方法可以从服务获取对当前正在运行的 Activity 的引用 我有一个在后台运行的服务 我想在事件发生时 在服务中 更新我当前的活动 有没有一种简单的方法可以做到这一点 就像我上面建议的那样 Update
  • NSIS - 检查进程是否存在(nsProcess 不工作)

    对于我的 NSIS 卸载程序 我想检查进程是否正在运行 FindProcDLL 在 Windows 7 x64 下无法工作 所以我尝试了 nsProcess 我从网站下载了1 6版本 http nsis sourceforge net Ns
  • mongodb 按多个字段对值进行分组

    例如 我有这些文件 addr address1 book book1 addr address2 book book1 addr address1 book book5 addr address3 book book9 addr addre
  • 在asp.net中设置图像过期日期

    当我获得主机时 在 Visual Studio 和 IIS7 中使用 asp net 我有一个充满图标的文件夹 这些图标很少改变并且在每个页面上都使用 有没有一种方法可以将某个目录设置为每 2 个小时左右过期一次 这样我就可以减少对服务器的
  • 在 php 中使用数组查找百分位

    我有一个像这样的数组 array 45 gt 5 42 gt 4 9 48 gt 5 41 gt 4 8 40 gt 4 9 34 gt 4 9 这里的索引是userid而价值就是他的分数 现在我想要的是为用户实现百分位 例如 45 48
  • winapi:创建进程但隐藏进程的窗口?

    我正在使用 CreateProcess 创建一个 cmd exe 进程 该进程传递一个执行并退出的参数 这使得命令提示符在屏幕上闪烁 我试图通过将 STARTUPINFO struct wShowWindow 设置为 SW HIDE 来避免
  • C# 将变量复制到缓冲区而不产生垃圾?

    在 C Net 3 5 及更高版本 中是否可以将变量复制到 byte 缓冲区中 而不会在进程中创建任何垃圾 例如 int variableToCopy 9861 byte buffer new byte 1024 byte bytes Bi
  • 如何使用SharpDX绘制透明表面?

    这个问题是基于进一步调查this https stackoverflow com questions 28960993 hud basics using sharpdx how to draw over the screen surface
  • MICO Corba 的直接替代品?

    我们目前正在使用 MICO 建立服务器和客户端之间的通信 其中客户端是用 C 编写的模拟器 服务器是显示模拟中发生的动画的 java 程序 看来 MICO 的开发已经放缓到几乎停止的状态 并且只允许我们破解它们的错误 因为我们没有时间首先弄
  • Python(2.x)列表/子列表选择-1怪异

    所以我一直在玩Python并注意到一些看起来有点奇怪的事情 的语义 1从列表中选择似乎不一致 所以我有一个数字列表 ls range 1000 当然 列表的最后一个元素ls 1 但如果我获取其中的子列表 以便获得从中点到结尾的所有内容 我会
  • 如何防止在 kivy 应用程序中关闭 x 上的窗口

    有没有办法通过单击右上角的 x 直到满足特定条件来防止关闭kivy窗口 您可以通过绑定窗口来做到这一点on request close有一个函数来检查是否满足条件 from kivy app import App from kivy cor