动态重新格式化tkinter比例值python 2.7
我想我想做的事情很简单,但显然不是 我想做的是使用tkinter标尺来控制用户可以输入的范围和值 在我的例子中,我想以秒为单位输入一个时间值,并以分:秒的格式显示它,这样任何人都可以理解,比如330秒==5:30 因为这不是scale小部件的标准格式,所以我想做的是在scale小部件旁边显示mm:ss格式的时间 在我的示例代码中,我可以看到比例值发生了变化,但到目前为止,我无法使mm:ss显示随着比例的移动而改变(我必须单击一个按钮以使其更新)。 因为我希望最终的结果尽可能地避免白痴,所以我需要mm:ss显示随滑块动态变化 在这一阶段,我似乎已经用尽了我能找到的所有在线示例,而且它们似乎都没有达到我想要的效果(转换需要额外按下按钮) 我很确定当我知道怎么做的时候我会觉得自己很愚蠢,但是现在我的头因为想弄明白这一点而痛动态重新格式化tkinter比例值python 2.7,python,tkinter,Python,Tkinter,我想我想做的事情很简单,但显然不是 我想做的是使用tkinter标尺来控制用户可以输入的范围和值 在我的例子中,我想以秒为单位输入一个时间值,并以分:秒的格式显示它,这样任何人都可以理解,比如330秒==5:30 因为这不是scale小部件的标准格式,所以我想做的是在scale小部件旁边显示mm:ss格式的时间 在我的示例代码中,我可以看到比例值发生了变化,但到目前为止,我无法使mm:ss显示随着比例的移动而改变(我必须单击一个按钮以使其更新)。 因为我希望最终的结果尽可能地避免白痴,所以我需要
有人可以分享这种行为的例子吗?scale小部件有一个
命令
属性,您可以使用该属性在值更改时调用函数。然后,此函数可以将值重新格式化为所需的格式
import Tkinter as tk
class Example(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.scale = tk.Scale(self, orient="horizontal",
from_=0, to=600,
showvalue=False,
command=self._on_scale)
self.scale_label = tk.Label(self, text="")
self.scale.pack(side="top", fill="x")
self.scale_label.pack(side="top")
def _on_scale(self, value):
value = int(value)
minutes = value/60
seconds = value%60
self.scale_label.configure(text="%2.2d:%2.2d" % (minutes, seconds))
if __name__ == "__main__":
root = tk.Tk()
Example(root).pack(fill="both", expand=True);
root.mainloop()
这将有助于向我们展示您所指的示例代码。这正是我想要的,谢谢。