如何打印tkinter Scale小部件的值?

时间:2013-12-24 15:53:12

标签: python tkinter printing tkinter-scale

有人可以告诉我为什么不打印这个价值?我想在每次更改时打印Scale小部件的输出。

from tkinter import *

master= Tk()
master.geometry('500x500+0+0')

def print_value(val):
    print val

c1 = Scale(master, from_=255, to=0, length =400,width =100, troughcolor = 'blue',command=print_value)
c1.grid(row=1,column=2)

root.mainloop()

3 个答案:

答案 0 :(得分:2)

如果您使用的是Python 3,那么您应该将print val更改为print(val),因为在Python3中print是一个函数,而不是运算符。

此外,由于代码中没有root变量,您可能应该在最后一行用master替换root

答案 1 :(得分:0)

使用Python 2.7与此代码完美配合:

import Tkinter

master= Tkinter.Tk()
master.geometry('500x500+0+0')

def print_value(val):
    print val

c1 = Tkinter.Scale(master, from_=255, to=0, length =400,width =100, troughcolor = 'blue',command=print_value)
c1.grid(row=1,column=2)

master.mainloop()

我这里没有Python 3,但它应该像这样工作:

from tkinter import *

master= Tk()
master.geometry('500x500+0+0')

def print_value(val):
    print (val)

c1 = Scale(master, from_=255, to=0, length =400,width =100, troughcolor = 'blue',command=print_value)
c1.grid(row=1,column=2)

main.mainloop()

答案 2 :(得分:0)

你必须改变你的最后一行:

root.mainloop()

通过

master.mainloop()