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

一个关于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()
    
    
    点赞 打赏 评论

相关推荐 更多相似问题