如何实现Python Tkinter tally计数器对同一数值的正常加减
问题根源
代码中存在两个完全独立的计数变量,加减操作没有作用在同一个值上:
- 加1逻辑修改全局变量
total_count,累加的数值只存在这个变量里 - 减1逻辑修改单独定义的
minus_count,这个变量初始值固定为0,和total_count的累加值完全不同步,点击减号时只会从0开始递减,因此会直接出现负数。
修改方法
移除多余的minus_count变量,让加减操作统一修改total_count即可。如果业务要求计数值不能小于0,可在减1逻辑中增加边界判断。
修正后可正常运行的代码:
total_count = 0 def count_number(): global total_count total_count += 1 count_label["text"] = total_count def minus_number(): global total_count # 若允许计数为负,删除下方if判断,直接执行total_count -=1即可 if total_count > 0: total_count -= 1 count_label["text"] = total_count count_label = Label(root, fg="orange", font="Verdana 150 bold italic") count_label.pack() count_label.place(x=810, y=280) plus_button = Button(root, text="+ 1", width=10, fg="purple", command=count_number).place(x=910, y=870) minus_button = Button(root, text="- 1", width=10, fg="purple", command=minus_number).place(x=910, y=970)
内容的提问来源于stack exchange,提问作者ryanpositiveguy
相关产品推荐
相关产品推荐

