Tkinter Scale:滑动条控件
Scale 控件用于创建一个标尺式的滑动条对象,让用户可以移动标尺上的光标来设置数值。
下面的示例将创建三个 Scale 控件,分别用来选择 R、G、B 三原色的值。移动Scale控件到显示颜色的位置后,单击 Show color 按钮即可将RGB的颜色显示在一个 Label 控件上。

图1:程序运行结果
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
Scale 控件的常用方法:
1) get()
取得目前标尺上的光标值。2) set(value)
设置目前标尺上的光标值。下面的示例将创建三个 Scale 控件,分别用来选择 R、G、B 三原色的值。移动Scale控件到显示颜色的位置后,单击 Show color 按钮即可将RGB的颜色显示在一个 Label 控件上。
#Scale滑动条 from tkinter import * from string import * #创建主窗口 win = Tk() #将标尺上的0~130范围的数字转换为0~255范围的16进位数字, #再转换为两个字符的字符串,如果数字只有一-位,就在前面加一个零 def getRGBStr (value) : #将标尺_上的0~130范围的数字,转换为0~255范围的16进位数字, #再转换为字符串 ret = str (hex (int (value/ 130*255)) ) #将16进位数字前面的0x去掉 ret = ret[2:4] #转换成两个字符的字符串,如果数字只有一-位,就在前面加一个零 ret = zfill(ret, 2) return ret #将RGB颜色的字符串转换为# rrggbb类型的字符串 def showRGBColor () : #读取#rrggbb字符串的rr部分 strR = getRGBStr (var1.get() ) #读取#rrggbb字符串的gg部分 strG = getRGBStr (var2.get() ) #读取#rrggbb字符串的bb部分 strB = getRGBStr (var3.get() ) #转换为# rrggbb类型的字符串 color="#"+strR+ strG + strB #将颜色字符串设置给Label控件的背景颜色 colorBar.config (background = color) #分别读取三个标尺的值,是一个双精度浮点数 var1 = DoubleVar () var2 = DoubleVar () var3 = DoubleVar () #创建标尺 scale1 = Scale (win, variable=var1) scale2 = Scale (win, variable=var2 ) scale3 = Scale (win, variable=var3) #将选择按钮靠左对齐 scale1.pack (side=LEFT) scale2.pack (side=LEFT) scale3.pack (side=LEFT) #创建一个标签,用于显示颜色字符串 colorBar = Label (win, text="" *40,background=" #000000") colorBar .pack (side=TOP) #创建一个按钮,单击后即将标尺上的RGB颜色显示在Label控件上 button = Button (win, text=" 查看颜色",command=showRGBColor) button. pack (side=BOTTOM) #开始程序循环 win.mainloop()保存为 .pyw 文件后,直接双击运行该文件。拖动滑块选择不同的 RGB 值,然后单击“查看颜色”按钮,即可查看对应的颜色效果,如图 1 所示:

图1:程序运行结果
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。