Tkinter教程之Scale 尺度

2018年4月7日19:13:30 发表评论 255 views

Tkinter教程之Scale 尺度

# Scale为输出限定范围的数字区间,可以为之指定最大值,最小值及步距值
'''''1.创建一个Scale'''
from tkinter import *

root = Tk()
Scale(root).pack()
# 创建一个垂直Scale,最大值为100,最小值为0,步距值为1。这个参数设置也就是Scale的缺省设置了。

''''2.改变这三个参数,生成 一个水平Scale,最小值为-400,最大值为500,步距值为5'''
Scale(root,
      from_=-400,  # 设置最小值
      to=500,  # 设置最大值
      resolution=5,  # 设置步距值
      orient=HORIZONTAL  # 设置水平方向
      ).pack()
'''''3.Scale绑定变量'''
v = StringVar()
Scale(root,
      from_=0,  # 设置最小值
      to=100.0,  # 设置最大值
      resolution=0.0001,  # 设置步距值
      orient=HORIZONTAL,  # 设置水平方向
      variable=v  # 绑定变量
      ).pack()
'''''4.使用回调函数打印当前的值'''
label = Label(root,
              text = 'Scale',#标签显示文本
              bitmap = 'info',#显示位图
              bg='red',
              fg='#FF00FF',
              width=100,
              height=20,
              compound = 'left',


              )
label.pack()
def printScale(text):
    print('text = ', text)
    print('v = ', v.get())
    label.configure(text=v.get())
v = StringVar()
Scale(root,
      from_=0,  # 设置最小值
      to=100.0,  # 设置最大值
      resolution=1,  # 设置步距值
      orient=HORIZONTAL,  # 设置水平方向
      variable=v,  # 绑定变量
      command=printScale  # 设置回调函数
      ).pack()
''''5.控制显示位数,可以理解为:Scale的值为一整形,在输出显示时,它将会被转化为一字符串,如1.2转化为1.2或1.2000都是可以的'''
#属性digits是控制显示的数字位数,将上面的例子中的数据以8位形式显示,在最后一位会添加一个0
v = StringVar()
Scale(root,
      from_=0,  # 设置最小值
      to=100.0,  # 设置最大值
      resolution=0.0001,  # 设置步距值
      orient=HORIZONTAL,  # 设置水平方向
      variable=v,  # 绑定变量
      digits=8,  # 设置显示的位数为8
      command=printScale  # 设置回调函数
      ).pack()

''''6.设置Scale的标签属性label'''
sl=Scale(root,
      from_=0,  # 设置最大值
      to=100.0,  # 设置最小值
      orient=HORIZONTAL,  # 设置水平方向
      label='choice:',  # 设置标签值
      )
'''''7.设置/取得Scale的值'''
sl.set(50)      #将Scale的值设置为50
print(sl.get())  #打印当前的Scale的值
sl.pack()


root.mainloop()

运行结果:

Tkinter教程之Scale 尺度

51changxue

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: