python升级命令出现错误_python - _tkinter.TclError:无法调用“ update”命令:应用程序已被破坏错误 - 堆栈内存溢出...
我同意其他人的看法,您应该在这里使用mainloop() ,但是,如果您想保留原始代码的方式是跟踪布尔值, while x == True 。 这样,我们可以将x的值更新为False ,这样就可以避免发生错误。
当应用关闭时,我们可以使用protocol()方法更新布尔值。
如果我们将其添加到您的代码中:
x = True
def update_x():
global x
x = False
tk.protocol("WM_DELETE_WINDOW", update_x)
并将您的while语句更改为:
while x == True:
tk.update_idletasks()
tk.update()
time.sleep(0.01)
因此,您的完整代码可能如下所示:
from tkinter import *
import random
import time
tk=Tk()
tk.title("My 21st Century Pong Game")
tk.resizable(0,0)
tk.wm_attributes("-topmost",1)
x = True
def update_x():
global x
x = False
tk.protocol("WM_DELETE_WINDOW", update_x)
canvas=Canvas(tk,bg="white",width=500,height=400,bd=0,highlightthickness=0)
canvas.pack()
tk.update()
class Ball:
def __init__(self,canvas,color):
self.canvas=canvas
self.id=canvas.create_oval(30,30,50,50,fill=color)
""" Note: x and y coordinates for top left corner and x and y coordinates for the bottom right corner, and finally the fill colour for the oval
"""
self.canvas.move(self.id,0,0)
def draw(self):
pass
ball1=Ball(canvas,'green')
while x == True:
tk.update_idletasks()
tk.update()
time.sleep(0.01)
这将解决您的问题。
要重申其他人所说的,您真正需要的mainloop()此处的mainloop()而不是您的while i:语句。
mainloop()方法用于重置Tk()实例的循环。一旦代码到达显示tk.mainloop()的行,它将成为代码的下一个循环。
编写代码的正确方法是只使用mainloop()因为它会对mainloop()实例进行所有更新。
请参阅以下使用mainloop()代码:
from tkinter import *
tk=Tk()
tk.title("My 21st Century Pong Game")
tk.resizable(0,0)
tk.wm_attributes("-topmost",1)
canvas=Canvas(tk,bg="white",width=500,height=400,bd=0,highlightthickness=0)
canvas.pack()
tk.update()
class Ball:
def __init__(self,canvas,color):
self.canvas=canvas
self.id=canvas.create_oval(30,30,50,50,fill=color)
""" Note: x and y coordinates for top left corner and x and y coordinates for the bottom right corner, and finally the fill colour for the oval
"""
self.canvas.move(self.id,0,0)
def draw(self):
pass
ball1=Ball(canvas,'green')
tk.mainloop()
python升级命令出现错误_python - _tkinter.TclError:无法调用“ update”命令:应用程序已被破坏错误 - 堆栈内存溢出...相关推荐
- python运行是哪个键_python – 如何使用回车键调用按钮命令
在tkinter中,当按钮具有焦点时,您可以按空格键执行与该按钮关联的命令.我正在尝试按Enter键做同样的事情.我确定我过去做过这个,但我找不到代码,而我现在正在做的事情是行不通的.我在Mac上使用 ...
- arcgis怎么用python重新排序_python - 根据排序数据添加新的顺序ID号(ArcGIS) - 堆栈内存溢出...
我需要一行代码,它将根据我为数据规定的顺序发出新的顺序ID. 基本上,在按照我的喜好对数据进行排序后,原始的Object_Id对我来说不再是有意义的顺序. 在我的表中,我创建了一个新字段(短整数). ...
- java.nio.file 找不到_java - 断言该错误:无法访问路径(找不到java.nio.file.Path) - 堆栈内存溢出...
我想使用Robolectric进行单元测试,但是我正在尝试使用robolectric进行简单测试,因此一开始我很困惑. 我遵循了手册,对示例进行了同样的操作,甚至其他帖子也无济于事. 每次收到错误消息 ...
- android autolink识别错误,android - autolink窃取ontouch事件,从而反馈触摸列表视图行无效 - 堆栈内存溢出...
我有一个listview . 并且行布局中包含很少的布局. 在行布局中,我有一个TextView ,我想在其上启用自动链接当我启用自动链接时,链接工作正常但我们点击列表行时得到的反馈不再有效. 在行布 ...
- python的easygui属性错误_python - PythonAnywhere:尝试使用easygui模块时出现Tkinter.py错误 - 堆栈内存溢出...
我的儿子正在尝试使用pythonAnywhere执行一个小程序. import random, easygui secret = random.randint(1,99) guess = 0 trie ...
- python求圆柱体的体积_Python 常见优化技巧,让你的程序溜溜的跑起来!
点击上方 编程学习者社区,选择 创建星标 回复关键字资源获取编程资料 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优 ...
- 【错误记录】Android 中调用 Process 命令行执行指令 ( java.lang.IllegalThreadStateException: process hasn‘t exited )
文章目录 一.报错信息 二.解决方案 一.报错信息 2021-05-07 13:24:24.672 29512-29512/kim.hsl.a7_zip E/AndroidRuntime: FATAL ...
- python 堆栈溢出_python - 使用CFFI释放内存时,“ MemoryError:堆栈溢出”是什么意思? - 堆栈内存溢出...
这一个问题, 这一个 . 我使用CFFI创建DLL,并从C ++应用程序中调用它. 我在问自己如何找到释放由DLL分配的内存的方法,我遵循@metal在其答案中提到的想法. 现在是我的Python代码 ...
- python子进程的输出不可见_python-输出子进程调用的命令行?
美观且可扩展的方法 我一直在使用这样的东西: #!/usr/bin/env python3 import os import shlex import subprocess import sys de ...
最新文章
- PyTorch多卡分布式训练:DistributedDataParallel (DDP) 简要分析
- Java黑皮书课后题第8章:*8.3(按考分对学生排序)重写程序清单8-2,按照正确答案个数的升序显示学生
- idea会抛出Unable to import maven project: See logs for details错误
- web服务器文档根目录在哪里,web服务器根目录在哪
- CentOS7服务管理(重启,停止,自动启动命令)
- 当AI遇上云计算,北京 · DevRun 华为云开发者大会
- python去干扰线_GitHub - Guardiant/VerifyCode: 验证码去干扰线识别
- 内是不是半包围结构_什么是自行车变速器上的“倾斜平行四边形”结构?
- C++轻量级微服务_微服务的部署
- 51单片机原理以及接口技术(三)-80C51的指令系统
- 小妙招:教你如何查询获取企业工商数据
- 安卓电子书格式_纯干货|提升电子书阅读体验的四点感受
- 金九银十进大厂必刷的105道Java面试题(不得不说的秘密)
- nginx image_filter模块415问题
- 环球好货VIP会员首次建群的方法及话术
- 公交线路查询系统 C++实现 图
- 使用PS切图时,调整标尺单位
- 创建visio的形状
- Amazon DynamoDB详解
- 数据结构系列笔记——图
热门文章
- 开发团队里是否需要测试人员?
- 如何高效地阅读文献?
- OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测
- Coursera课程Python for everyone:chapter 2
- 直方图应用:直方图均衡化,直方图匹配,对比直方图
- 人工智能:第八章 自动规划
- MyBatis拦截器原理探究MyBatis拦截器原理探究
- 使用System Center DPM 2012 SP1保护企业关键数据(二)备份及恢复AD
- LeetCode 75 Sort Colors(颜色排序)
- bioperl 格式化genebank的输出