tkinter:键盘中断需要一段时间

2023-11-27

在 Linux 上使用 Tkinter 和 Python,我试图通过使用KeyboardInterrupt例外,但是当我按下它时,有一段时间没有任何反应。最终它“接受”并退出。示例程序:

import sys
from Tkinter import *

try: 
    root = Tk()
    root.mainloop()
except:
    print("you pressed control c")
    sys.exit(0)

怎样才能让程序反应更快呢?


这有点问题,因为一般来说,在调用mainloop方法您依赖 Tcl 来处理事件。由于您的应用程序什么也不做,因此 Tcl 没有理由对任何事情做出反应,尽管它最终会处理其他事件(正如您所注意到的,这可能需要一些时间)。避免这种情况的一种方法是让 Tcl/Tk 做一些事情,安排人工事件,如下所示:

from Tkinter import Tk

def check():
    root.after(50, check) # 50 stands for 50 ms.

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

tkinter:键盘中断需要一段时间 的相关文章

随机推荐

  • 查找字节数组中的字节序列

    我有一个字节数组 希望找到某些字节的 出现 例如00 69 73 6F 6D在一个非常大的字节数组中 gt 50 100 MB OR 更好的是反向操作 在不知道的情况下搜索最常见的模式 代码应该能够从文件中读取并找到它 您可以使用 Boye
  • 使用 TypeScript 在节点应用程序中导入 JSON 文件

    我真的快疯了 因为我找不到解决方案 我想要存档的是将带有配置的 JSON 文件导入到我的 TypeScript 文件中 我了解到我需要一份声明文件 所以我在我的项目中添加了一个文件 json loader d ts 我还在多个级别 根 ty
  • 内部偏好屏幕黑屏

    My PreferenceActivity包含一个嵌套的PreferenceScreen在另一个PreferenceScreen我正在将一个主题应用到我的PrefenceActivity改变背景颜色 但是当我打开嵌套的PreferenceS
  • 关闭父对话框时关闭子对话框

    我正在使用 C 编写 Windows shell 扩展EZShellExtensions NET 我提供了一个显示对话框的上下文菜单 假设我显示一个资源管理器窗口 A 然后我使用上下文菜单显示非模式窗口 B 在Windows XP和Wind
  • 如何使用 Smack 了解 XMPP openfire 中的打字状态

    我正在使用 Openfire XMPP 服务器开发聊天应用程序 我可以在两个用户之间进行文字聊天 但我想知道有人正在输入消息时的输入状态 所以我创建了一个类 public class typingStatus implements Chat
  • 如何使用PHPWord将html标签字符串转换为word文档?

    我有一个 HTML 字符串 我想以与 HTML 中相同的格式和样式在 Word 文档中打印 我正在使用PHPWord 当我给出 HTML 字符串时 htmlval h6 div style text align center b OFFER
  • SQL Server 中类似 QUALIFY 的函数

    我的表有 2 列 Emp Name and Emp NR 有可能发生这样的情况Emp Name值有 2 个不同Emp NR values 我想创建一个SELECT仅获取单个值的语句Emp Name and Emp NR 该语句应类似于 Te
  • HttpClient 不返回 Content-Type

    我正在发送请求HttpClient 服务器返回两个我想返回给客户端的标头 我这样运行 using var client new HttpClient var response await client GetAsync DownloadUr
  • .NET Core 3.1 ChangePasswordAsync 内部异常“无法更新身份列”

    我正在将 NET Core Web API 从 2 2 升级到 3 1 当测试时ChangePasswordAsync函数时 我收到以下错误消息 无法更新身份列 UserId 我运行了 SQL 配置文件 可以看到 Identity 列未包含
  • Django:“项目”与“应用程序”

    我有一个相当复杂的 产品 我正准备使用 Django 构建 我将避免在这种情况下使用术语 项目 和 应用程序 因为我不清楚它们在 Django 中的具体含义 项目可以有许多应用程序 应用程序可以在许多项目之间共享 美好的 我没有重新发明博客
  • 如何从nodejs aws s3 getObject回调数据中检索元数据?

    我正在尝试使用 AWS 节点 SDK 将音频块文件上传到 S3 或从 S3 下载音频块文件 我尝试过base64方法 效果很好 但我无法取回我作为上传参数的一部分捆绑的元数据 下面是上传的代码片段以及元信息 var myMetaInfo A
  • kubeadm:主节点从未准备好

    我正在跟进一篇博文使用 kubeadm 设置 kubernetes 集群 因此 我使用桥接网络创建了一个 Virtualbox 然后只需按照说明进行操作即可 我最初只是做了kubeadm init它不起作用 master NotReady
  • Python/Tkinter:动态扩展字体大小以填充框架

    我知道您可以通过以下命令让框架小部件扩展并填充其容器中可用的所有区域 frameName pack fill both expand True 对于文本的字体大小有何作用 目前我的文本是标签小部件的属性 标签小部件的父级是frameName
  • 为什么 GCC 允许在 C++ 中使用 round(),即使带有 ansi 和 pedantic 标志?

    即使使用 ansi and pedantic flags include
  • 未设置设计密钥

    我正在开发一个 Rails 4 应用程序 使用 Active Admin gem 作为管理后端 Active Admin 反过来使用 Devise 进行用户身份验证 现在 当我尝试使用部署应用程序时capistrano在 VPS 服务器上
  • Yii 将过滤器添加到 CGridView 中的虚拟属性并使其可排序

    我有以下型号 User包含列 id user name password user type Admin包含列 id user id full name etc Editor包含 id user id full name etc 列 关系是
  • 浮动 div 而不定义 height 属性

    它看起来很简单 也许是 只是被卡住了 gt 只是为了好玩 现在没有实际需要 我懂了 div class master div class left p LEFT p div div class right p Lorem ipsum dol
  • 将列表转换为字典[重复]

    这个问题在这里已经有答案了 l a b c d e 我想将此列表转换为字典 例如 d a b c d e 所以基本上 偶数将是键 而赔率将是值 我知道我可以用 非Pythonic 的方式来做到这一点 例如带有if语句的for循环 但我相信应
  • IExtensionConfigProvider 未初始化或与 Microsoft.Azure.WebJobs v3 绑定

    我们通过与 IExtensionConfigProvider 的参数绑定在 Azure 函数 netstandard20 上的 v2 中使用依赖项注入 将 Microsoft NET Sdk Functions 从 1 0 13 升级到 1
  • tkinter:键盘中断需要一段时间

    在 Linux 上使用 Tkinter 和 Python 我试图通过使用KeyboardInterrupt例外 但是当我按下它时 有一段时间没有任何反应 最终它 接受 并退出 示例程序 import sys from Tkinter imp