陈讨厌 2019-05-06 20:25 采纳率: 100%
浏览 562
已采纳

一个关于python tkinter中text与Botton的问题

本人萌新
写了个一按Botton实现在text中显示余数的代码
我希望是totle=totle-var能够不断循环,显示出余数
例如我输入5,一按botton,text显示的是15,再按一下botton,显示的是10
不知道怎么改代码能够实现

import tkinter as tk
window=tk.Tk()
window.title('my window')
window.geometry('200x200')
e=tk.Entry(window,show='')
e.pack()
def insert_point():
    var=e.get() 
    var=int(var)
    totle=20
    totle=totle-var
    t.insert('insert',totle)
    var=e.get()
def delete_point():
    t.delete('1.0','end')
b1=tk.Button(window,text='收入',width=15,height=2,command=insert_point)
b1.pack()
b2=tk.Button(window,text='清除',width=15,height=2,command=delete_point)
b2.pack()
t=tk.Text(window,height=2)    
t.pack()

window.mainloop()
  • 写回答

1条回答 默认 最新

  • BuXianShan 2019-05-06 22:05
    关注

    你好,我稍微修改了一点你的代码,希望可以帮到你。(把totle改成全局变量就好了)

    import tkinter as tk
    
    window = tk.Tk()
    window.title('my window')
    window.geometry('200x200')
    e = tk.Entry(window, show='')
    e.pack()
    # totle是全局变量
    totle = 20
    
    
    def insert_point():
        var = e.get()
        var = int(var)
        # 声明全局变量totle
        global totle
        totle = totle-var
        t.delete('1.0', 'end')
        t.insert('insert', totle)
        var = e.get()
    
    
    def delete_point():
        t.delete('1.0', 'end')
    
    
    b1 = tk.Button(window, text='收入', width=15, height=2, command=insert_point)
    b1.pack()
    b2 = tk.Button(window, text='清除', width=15, height=2, command=delete_point)
    b2.pack()
    t = tk.Text(window, height=2)
    t.pack()
    
    window.mainloop()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?