据我所知,window.mainloop()不断重复GUI代码,以便窗口及其小部件保持在屏幕上。因此,为什么一个变量(如canvastext)可以被更新并保持更新?难道window.mainloop()的逻辑会覆盖canvastext,使其再次具有文本值“Hi”,而不是新的spinbox值吗?

可能我完全误解了window.mainloop()的作用,但是如果它确实使程序在代码中不断循环,那么为什么不重新分配变量的原始值呢?在from tkinter import *

x = 10

y = 10

a = 100

b = 100

def hello():

#print spin value

print ("Spin Value:")

number = v.get()

print(number)

#update text with variable value

txt = v.get()

global canvastext

canvas1.delete(canvastext)

canvas1.update()

canvastext = canvas1.create_text(50, 50, text = txt)

window = Tk()

window.geometry("500x500")

#canvas and drawing

canvas1=Canvas(window, height = 200, width = 400)

canvas1.grid(row=0, column=0, sticky=W)

coord = [x, y, a, b]

rect = canvas1.create_rectangle(*coord, outline="#fb0", fill="#fb0")

canvastext = canvas1.create_text(50, 50, text ="Hi")

# create a toplevel menu

menubar = Menu(window)

firstmenu = Menu(menubar, tearoff=0)

firstmenu.add_command(label="Hello!", command=hello)

firstmenu.add_command(label="Quit!", command=window.destroy)

menubar.add_cascade(label="Menu1", menu=firstmenu)

secondmenu = Menu(menubar, tearoff=0)

secondmenu.add_command(label="Hi!", command=hello)

secondmenu.add_command(label="Quit!", command=window.destroy)

menubar.add_cascade(label="Menu2", menu=secondmenu)

window.config(menu=menubar)

#spinboxes and capturing value

v=IntVar()

spin = Spinbox(window, textvariable=v, from_=1, to = 10)

spin.grid(row=1, column = 0, sticky= W)

window.mainloop()

python tk mainloop原理_理解Tkinter mainloop()的逻辑以及为什么变量没有重新分配它们的原始值?...相关推荐

  1. python装饰器原理-深刻理解python装饰器

    我们要完全理解python装饰器,不是很容易,主要归结有如下困难: 1. 关于函数"变量"(或"变量"函数)的理解 2. 关于高阶函数的理解 3. 关于嵌套函数 ...

  2. python生成器yield原理_生成器yield关键字详解

    鉴于yield关键字的原理大家理解的都不是很深刻,今天我们主要就这一课题进行探讨. 生成器可以用什么方式得到? 方法一: 利用推导式的方式得到生成器# 列表推导式 list1 = [i for i i ...

  3. python画爱心原理_如何理解python一行代码实现一个爱心字符画?

    前言 python中有个很酷的效果,一行代码实现一个爱心字符,虽说是一行代码,但是理解起来还是比较难的,括号太多,并且使用了python的一些快捷小技巧.比如三元表达式,列表生成式,字符串拼接以及一个 ...

  4. python tk label 多字体_Python3 tkinter基础 Label compound 图片上显示文字 fg字体颜色 font字体大小...

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

  5. python打印日历代码_带tkinter的日历(打印所选日期)

    为了用tkinter创建日历,我在网上获得了以下代码:""" Simple calendar using ttk Treeview together with calen ...

  6. python制作简单动画_用Tkinter Python制作简单动画

    我用Tkinter搜索了一个简单的动画代码,但是我发现了非常不同的例子,我无法理解正确的方法来编写动画. 这里我的工作代码显示一个简单的移动圆:import tkinter as tk import ...

  7. python 小说下载工具_使用tkinter打造一个小说下载器,想看什么小说,就下什么...

    前言 今天教大家用户Python GUI编程--tkinter 打造一个小说下载器,想看什么小说,就下载什么小说 先看下效果图 Tkinter 是使用 python 进行窗口视窗设计的模块.Tkint ...

  8. python输出文本框_让tkinter在文本框中显示输出

    我试图创建一个小的GUI,当用户在文本框中输入一个数字时,它显示(作为标签)是否是素数.让tkinter在文本框中显示输出 我目前"工作"的代码(因为没有错误显示),但标签不会改变 ...

  9. python实现选择文件_用tkinter 实现从文件夹选择文件并显示

    如何使用tkinter打开一个excel表格并读取数据,并显示出来? 1.使用filedialog,打开文件夹并选择文件 代码如下: #选择文件 def openfile(): sfname = fi ...

最新文章

  1. zeros--创建零矩阵
  2. java aar 文件,将本地.aar文件添加到我的gradle构建中
  3. 最小表达式_C# 09.找最大和最小的数字
  4. 在未启动程序情况 点击视图设计器 弹出未将对象引用窗体的解决方案
  5. javascript --- 文件上传即时预览 闭包实现多图片即时预览
  6. redis 缓存 key常量命名规则
  7. 学习echarts需要先学习java 吗_Echarts和Echarts-java类库简单使用方法
  8. el如何获取复选框的值_element ui 表格提交时获取所有选中的checkbox的数据
  9. 不招聘数据科学家的 7 个理由!
  10. windows电脑上一些软件如画图/记事本变成了英文
  11. pve 不订阅更新_魔兽世界PVE史:第二章 (四)国服那些年
  12. LiteFlowNet3:解决对应歧义以获得更准确的光流估计
  13. error: cannot lock ref 'refs/remotes/origin/master': unable to resolve reference 'refs/remotes/origi
  14. CCNA思科的一些基础知识
  15. 2021Java进阶学习资料!java自学宝典pdf下载
  16. Kafka时间轮学习总结
  17. 使用RestTemplate报301 Moved Permanently解决
  18. 微服务项目框架及多模块开发
  19. mysql连接驱动_MySQL8.0数据库连接驱动问题
  20. NLP 的 不可能三角?

热门文章

  1. 追本溯源:Oracle 只读表空间的探索实践
  2. 【警惕】大量未修复WebLogic WSAT组件RCE漏洞的主机被挖矿程序攻击
  3. 云小课|云小课带你快速掌握云数据迁移CDM
  4. 互联网短平快下,DevCloud如何支撑软件开发的“转型”?
  5. 实操案例:字符串哈希表操作
  6. 【华为云技术分享】CentOS7.4系统下,手动安装MySQL5.7的方法
  7. 区块链学习笔记:D02 区块链的技术发展历史和趋势
  8. 补习系列(2)-springboot mime类型处理
  9. AOS编排语言系列教程(五):创建安全组SecurityGroup
  10. 红橙Darren视频笔记 网络请求优化方案 OOP面向对象 6大基本原则