我试图运行一个While循环,以便不断做一些事情.目前,它所做的只是崩溃我的程序.

这是我的代码:

import tkinter

def a():

root = tkinter.Tk()

canvas = tkinter.Canvas(root, width=800, height=600)

while True:

print("test")

a()

它将循环print语句,但实际的画布拒绝打开.

有没有可行的无限循环可以与Tkinter一起工作?

额外的信息

当我删除While True语句时,画布再次出现.

解决方法:

Tkinter挂起,除非它可以执行自己的无限循环root.mainloop.通常,您无法运行与Tkinter并行的无限循环.但是,有一些替代策略:

之后使用

after是一种Tkinter方法,它使目标函数在一定时间后运行.您可以通过使自己在自身之后调用来重复调用函数.

import tkinter

#this gets called every 10 ms

def periodically_called():

print("test")

root.after(10, periodically_called)

root = tkinter.Tk()

root.after(10, periodically_called)

root.mainloop()

还有root.after_idle,一旦系统没有更多事件要处理,它就会执行目标函数.如果您需要以每毫秒一次的速度循环,这可能更为可取.

使用线程

threading模块允许您并行运行两段Python代码.使用此方法,您可以同时运行任意两个无限循环.

import tkinter

import threading

def test_loop():

while True:

print("test")

thread = threading.Thread(target=test_loop)

#make test_loop terminate when the user exits the window

thread.daemon = True

thread.start()

root = tkinter.Tk()

root.mainloop()

但请注意:从主要线程以外的任何线程调用Tkinter方法可能会导致崩溃或导致异常行为.

标签:python,python-3-x,tkinter

来源: https://codeday.me/bug/20190926/1820403.html

python while true循环卡住不动_python – While循环导致整个程序在Tkinter中崩溃相关推荐

  1. python中循环结构关键字_Python的循环结构,也简单!

    Python语言的循环结构包括两种:遍历循环和无限循环.其中遍历循环由for保留字建立,用来一次访问元素组中的每一个元素:无限循环由while保留字建立,依据是否满足特定条件决定是否结束循环. 1.遍 ...

  2. python循环结构语句_python控制语句---循环结构语句

    这次主要把循环结构的控制语句补上,主要包含while.for.continue.break.循环嵌套.主要写一些基本的认识以及包含的一些实例.当只有唯一路径且只跑一次的时候选择上一节中的选择结构语句就 ...

  3. python中for循环的代码_Python for循环及基础用法详解

    Python 中的循环语句有 2 种,分别是 while 循环和 for 循环,前面章节已经对 while 做了详细的讲解,本节给大家介绍 for 循环,它常用于遍历字符串.列表.元组.字典.集合等序 ...

  4. python写一个表白程序带时间_Python 打造最强表白程序

    单身久的我们,好像觉得一个人过也没什么的.但即使非常享受单身生活,大家也要保持"可勾搭"的待机状态,因为促进荷尔蒙分沁有益身心健康.在这个人人都在秀的时候,做为程序员我们也要操作起 ...

  5. python写一个表白程序带时间_python如何写出表白程序

    用python编表白程序的方法: 1.创建GUI窗口,实现代码的调用. 2.编写点击触发函数,实现表白程序. 具体代码如下: from tkinter import * from tkinter im ...

  6. python下载包突然卡住不动了怎么办_docker pull卡住,下载不动,更换镜像源

    docker pull卡住,下载不动,更换镜像源 Mkdir700 • 2020 年 03 月 15 日 Loading... 转到 deepin 之后,之前基于Windows的酷Q的小项目 不太好提 ...

  7. python循环定义变量_Python 变量循环

    Python 变量-循环 一.变量 不管什么编程语言或脚本语言 在定义变量时都有一定的规则.Python变量定义规则如下: 变量名只能是字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 关键 ...

  8. python循环语句知识点_Python for 循环语句【每日一个知识点第115期

    Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequence: statements(s) ...

  9. python打印所有的水仙花数_python使用循环打印所有三位数水仙花数的实例

    首先水仙花数是什么? 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿 ...

最新文章

  1. [修订版]”大脑“爆发背后是50年互联网架构重大变革
  2. [SimpleOJ238]宝藏探寻
  3. w7怎么查看电脑配置_学室内设计,对电脑配置有何要求?不懂戳这!
  4. SpringBoot 2.6.0发布:禁止循环依赖,还有哪些实用的更新?
  5. IOS开发入门环境搭建输出helloworld
  6. SQL SERVER 2008 SN
  7. RDLC系列之六 打印纸张的大小(未解决)
  8. 记忆化搜索 递归缓存_需要微缓存吗? 营救记忆
  9. php的cookie变量作用,PHP语言中cookie的作用
  10. Tensorflow 2.1 迁移学习 基于VGG
  11. iBooker AI+财务提升星球 2020.4 热门讨论
  12. opencv SURF角检测
  13. Java基础学习总结(117)——Feign入门使用详解
  14. WebBrowser自动点击链接 广告自动点击 Ads Auto Click
  15. 大学生微信小程序项目总结
  16. 华为:鸿蒙 Harmony OS 明年将正式登陆欧洲
  17. Clock skew too great
  18. 亿发定制ERP企业管理系统,适用中小型企业的经济实惠的解决方案
  19. ExecutorCompletionService
  20. C语言简单编程案例(一)

热门文章

  1. 企业邮箱怎么设置自动回复邮件
  2. php 递归遍历文件夹,php递归遍历目录_PHP教程
  3. 淘宝天猫重组换血,原核心高管离职;Google Bard 大更新,数学和逻辑能力有所提升;K8s 1.27 发布|极客头条
  4. linux使用命令重命名_如何在Linux上使用重命名命令
  5. Zookeeper C API 官方示例程序
  6. 解决文字与图片始终不并排的问题
  7. html5支持h265吗,PC端播放H265
  8. Excel工具箱-方方格子使用案例(提取数据、正则表达式
  9. 《“通用语”与“兽人语”互译手册》之部落篇
  10. 数控g71编程实例带图_数控车G71有凹槽复合循环编程实例