gpt4 book ai didi

python - tkinter 在 Canvas 上可变值

转载 作者:太空宇宙 更新时间:2023-11-03 21:10:46 25 4
gpt4 key购买 nike

我想在单击按钮时更改 Canvas 上的文本标签。如果单击“向上”按钮,我希望将标签增加 10;如果单击“向下”按钮,我希望将标签减少 10。

这是我的代码,但我不知道下一步该做什么:

import tkinter as tk

class Sys(tk.Tk, object):
def __init__(self):
super(Sys, self).__init__()
self.title('SYSTEM')
self.geometry('{0}x{1}'.format(500, 500)) # dimentions
self.consumtion = 300
self._build_system()

def _build_system(self):
self.canvas = tk.Canvas(self, bg='lightgreen', height=500, width=500) # dimentions
'''changeable value'''
self.cons = self.canvas.create_text(250,250, text = str(self.consumtion))

'''button'''
self.but = tk.Button( text = "UP")
self.but.bind("<Button-1>", lambda event: self.consumption + 10)
self.but.place(relx=0.8, rely = 0.7, anchor = "center")
self.but = tk.Button(text = "DOWN")
self.but.bind("<Button-1>", lambda event: self.consumption - 10)
self.but.place(relx=0.9, rely = 0.7, anchor = "center")

# pack all
self.canvas.pack()

sys=Sys()

最佳答案

您可以使用 Canvas 上记录的 itemconfigure 方法来更改 Canvas 上任何对象的任何配置选项。

例如,您可以编写一个名为 change_conclusion 的方法,该方法采用一个参数来指示值的更改量,并且它可以使用 itemconfigure 来更改显示在 Canvas :

def change_consumption(self, amount):
self.consumption += amount
self.canvas.itemconfigure(self.cons, text=self.consumption)

您可以像这样为“向上”按钮绑定(bind)到此函数;对于“向下”,您将传递 -10:

self.but.bind("<Button-1>", lambda event: self.change_consumption(10))

关于python - tkinter 在 Canvas 上可变值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55082728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com