silence_sz 2023-04-26 17:53 采纳率: 100%
浏览 12
已结题

python的Tkinter库


import tkinter as tk 
top=tk.Tk()
top.title("This is my first form!") #创建标题
def button_result():
    count=0
    count+=1
    top.title('you click {} counts!'.format(count))
button1=tk.Button(top,text="sure",command=button_result)  #创建一个名为“sure”按钮
button1.pack()  # 布局
top.mainloop()

这里我想实现,统计点击按钮次数,并且在标题中显示,但是运行结果停留在:

img

  • 写回答

2条回答 默认 最新

  • Lemon2050 2023-04-26 18:22
    关注
    
    import tkinter as tk
    
    top = tk.Tk()
    top.title("This is my first form!")  # 创建标题
    count = 0
    
    
    def button_result():
        global count
        count += 1
        top.title('you click {} counts!'.format(count))
    
    
    button1 = tk.Button(top, text="sure", command=button_result)  # 创建一个名为“sure”按钮
    button1.pack()  # 布局
    top.mainloop()
    

    你原来的代码每次点击的时候,会把count重新赋值为0,虽然每次都加1,但是结果始终是1.
    所以count = 0要放在方法的外面。
    为什么又要加上global count呢,因为你在方法内部对count的操作无法影响外部的变量count,它的作用域只在方法内部(即使是同名的)。加上global以后,count不再是方法内部的局部变量,而成为全部变量。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 已采纳回答 4月27日
  • 创建了问题 4月26日

悬赏问题

  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败
  • ¥15 Java与Hbase相关问题
  • ¥15 后缀 crn 游戏文件提取资源
  • ¥20 bash代码推送不上去 git fetch origin master #失败了
  • ¥15 LOL外服加入了反作弊系统,现在游戏录像rofl文件离线都无法打开