Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用基于缩放和x27的自定义消息更新标签;s值,Tkinter_Python_Tkinter - Fatal编程技术网

Python 使用基于缩放和x27的自定义消息更新标签;s值,Tkinter

Python 使用基于缩放和x27的自定义消息更新标签;s值,Tkinter,python,tkinter,Python,Tkinter,因此,我有一个只有2个小部件、1个标签和1个比例的应用程序 我想做的是根据刻度的值更新标签的文本,因此文本将是“刻度的值是(x)”,其中(x)是刻度的值 当我实例化这两个小部件时,我尝试使用一个公共变量,但这没有帮助。有什么想法吗 firstLine = Frame(root) firstLine.pack() breakValue = StringVar() breakValue.set("Take a break, every 20 minutes")

因此,我有一个只有2个小部件、1个标签和1个比例的应用程序

我想做的是根据刻度的值更新标签的文本,因此文本将是“刻度的值是(x)”,其中(x)是刻度的值

当我实例化这两个小部件时,我尝试使用一个公共变量,但这没有帮助。有什么想法吗

    firstLine = Frame(root)
    firstLine.pack()

    breakValue = StringVar()
    breakValue.set("Take a break, every 20 minutes")
    workTime = Label(firstLine, textvariable=breakValue)
    workTime.pack(side=self.LEFT)

    workTimeSetter = Scale(firstLine, orient="horizontal")
    workTimeSetter.pack(side=self.LEFT)
    workTimeSetter.set(20)

您可以使用
命令执行此操作
——不确定这是否是最佳方法,但似乎有效:

from Tkinter import *

root = Tk()
breakValue = StringVar()

def set_label(val):
    breakValue.set("Take a break, every {} minutes".format(val))

firstLine = Frame(root)
firstLine.pack()

workTime = Label(firstLine, textvariable=breakValue)
workTime.pack(side=LEFT)

workTimeSetter = Scale(firstLine, orient="horizontal", command=set_label)
workTimeSetter.pack(side=LEFT)
workTimeSetter.set(20)

root.mainloop()

命令
自动接收刻度的当前值,因此我们可以在我们的功能中使用它。

您可以使用
命令来执行此操作
-不确定这是否是最佳方法,但似乎有效:

from Tkinter import *

root = Tk()
breakValue = StringVar()

def set_label(val):
    breakValue.set("Take a break, every {} minutes".format(val))

firstLine = Frame(root)
firstLine.pack()

workTime = Label(firstLine, textvariable=breakValue)
workTime.pack(side=LEFT)

workTimeSetter = Scale(firstLine, orient="horizontal", command=set_label)
workTimeSetter.pack(side=LEFT)
workTimeSetter.set(20)

root.mainloop()

命令
自动接收刻度的当前值,因此我们可以在我们的功能中使用它。

显示您的code@asongtoruin没什么特别的,只有两个小部件。我更新了。给我们看看你的code@asongtoruin没什么特别的,只有两个小部件。我更新了。哇,我不知道命令会自动传递参数。谢谢,这就是我要找的!!也可以添加您自己的参数而不会弄乱它自动传递它吗?我不知道命令会自动传递参数。谢谢,这就是我要找的!!是否也可以添加自己的参数,而不会自动将其传递给其他用户