Tkinter 组件详解(十):Scale
Tkinter 组件详解之Scale
Scale(刻度)组件看起来像是一个带数据的 Scrollbar(滚动条)组件,但事实上它们是不同的两个东东。Scale 组件允许用于通过滑动滑块来选择一个范围内的数字。你可以控制该组件的最大值、最小值,以及分辨率。
何时使用 Scale 组件?
当你希望用户输入某个范围内的一个数值,使用 Scale 组件可以很好的代替 Entry 组件。
用法
创建一个指定范围的 Scale 组件其实非常容易,你只需要指定它的 from 和 to 两个选项即可。但由于 from 本身是 Python 的关键字,所以为了区分需要在后边紧跟一个下划线:from_
import tkinter as tkroot = tk.Tk()tk.Scale(root, from_=0, to=42).pack()
tk.Scale(root, from_=0, to=200, orient="horizontal").pack()root.mainloop()
使用 get() 方法可以获取当前滑块的位置:
import tkinter as tkroot = tk.Tk()s1 = tk.Scale(root, from_=0, to=42)
s1.pack()s2 = tk.Scale(root, from_=0, to=200, orient="horizontal")
s2.pack()def show():print(s1.get(), s2.get())tk.Button(root, text="获得位置", command=show).pack()root.mainloop()
然后,你可以通过 resolution 选项控制分辨率(步长),通过 tickinterval 选项设置刻度:
import tkinter as tkroot = tk.Tk()tk.Scale(root, from_=0, to=42, tickinterval=5, length=200, \resolution=5, orient="vertical").pack()
tk.Scale(root, from_=0, to=200, tickinterval=10, length=600, \orient="horizontal").pack()root.mainloop()
参数
Scale(master=None, **options) (class)
master -- 父组件
**options -- 组件选项,下方表格详细列举了各个选项的具体含义和用法:
选项 | 含义 |
activebackground |
1. 指定当鼠标在上方飘过的时候滑块的背景颜色 2. 默认值由系统指定 |
background |
1. 滚动槽外部的背景颜色 2. 默认值由系统指定 |
bg | 跟 background 一样 |
bigincrement |
1. 设置“大”增长量 2. 该选项设置增长量的大小 3. 默认值是 0,增长量为范围的 1/10 |
borderwidth |
1. 指定边框宽度 2. 默认值是 2 |
bd | 跟 borderwidth 一样 |
command |
1. 指定一个函数,每当滑块发生改变的时候都会自动调用该函数 2. 该函数有一个唯一的参数,就是最新的滑块位置 3. 如果滑块快速地移动,函数可能无法获得每一个位置,但一定会获得滑块停下时的最终位置 |
cursor |
1. 指定当鼠标在上方飘过的时候的鼠标样式 2. 默认值由系统指定 |
digits |
1. 设置最多显示多少位数字 2. 补充注释:例如设置 from 选项为 0,to 选项为 20,digits 选项设置为 5,那么滑块的范围就是在 0.000 ~ 20.000 直接滑动 3. 默认值是 0(不开启) |
foreground |
1. 指定滑块左侧的 Label 和刻度的文字颜色 2. 默认值由系统指定 |
fg | 跟 foreground 一样 |
font |
1. 指定滑块左侧的 Label 和刻度的文字字体 2. 默认值由系统指定 |
from |
1. 设置滑块最顶(左)端的位置 2. 默认值是 0 |
highlightbackground |
1. 指定当 Scale 没有获得焦点的时候高亮边框的颜色 2. 默认值由系统指定 |
highlightcolor |
1. 指定当 Scale 获得焦点的时候高亮边框的颜色 2. 默认值由系统指定 |
highlightthickness |
1. 指定高亮边框的宽度 2. 默认值是 0(不带高亮边框) |
label |
1. 你可以在垂直的 Scale 组件的顶端右侧(水平的话是左端上方)显示一个文本标签 2. 默认值是不显示标签 |
length |
1. Scale 组件的长度 2. 默认值是 100 像素 |
orient |
1. 设置该 Scale 组件是水平放置("horizontal")还是垂直放置("vertical") 2. 默认值是 "vertical" |
relief |
1. 指定边框样式 2. 默认值是 "sunken" 3. 可以选择 "flat","raised","groove" 和 "ridge" |
repeatdelay |
1. 该选项指定鼠标左键点击滚动条凹槽的响应时间 2. 默认值是 300(毫秒) |
repeatinterval |
1. 该选项指定鼠标左键紧按滚动条凹槽时的响应间隔 2. 默认值是 100(毫秒) |
resolution |
1. 指定 Scale 组件的分辨率(步长,即在凹槽点击一下鼠标左键它移动的数量) 2. 补充注释:例如设置 from 选项为 0,to 选项为 20,resolution 选项设置为 0.1 的话,那么每点击一下鼠标就是在 0.0 ~ 20.0 之间以 0.1 的步长移动 3. 默认值是 1 |
showvalue |
1. 设置是否显示滑块旁边的数字 2. 默认值为 True |
sliderlength |
1. 设置滑块的长度 2. 默认值是 30 像素 |
sliderrelief |
1. 设置滑块的样式 2. 默认值是 "raised" 3. "flat","sunken","groove" 和 "ridge" |
state |
1. 默认情况下 Scale 组件支持鼠标事件和键盘事件,可以通过设置该选项为 "disabled" 来禁用此功能 2. 默认值是 "normal" |
takefocus |
1. 指定使用 Tab 键是否可以将焦点移动到该 Scale 组件上 2. 默认是开启的,可以通过将该选项设置为 False 避免焦点落在此组件上 |
tickinterval |
1. 设置显示的刻度,如果设置一个值,那么就会按照该值的倍数显示刻度 2. 默认值是不显示刻度 |
to |
1. 设置滑块最底(右)端的位置 2. 默认值是 100 |
troughcolor |
1. 设置凹槽的颜色 2. 默认值由系统指定 |
variable |
1. 指定一个与 Scale 组件相关联的 Tkinter 变量,该变量存放滑块最新的位置 2. 当滑块移动的时候,该变量的值也会发生相应的变化 |
width |
1. 指定 Scale 组件的宽度 2. 默认值是 15 像素 |
方法
coords(value=None)
-- 获得当前滑块的位置对应 Scale 组件左上角的相对坐标
-- 如果设置 value 参数,则返回当滑块所在该位置时的相对坐标
get()
-- 获得当前滑块的位置
-- Tkinter 会尽可能地返回一个整型值,否则返回一个浮点型值
identify(x, y)
-- 返回一个字符串表示指定位置下(如果有的话)的 Scale 部件
-- 返回值可以是:"slider"(滑块),"trough1"(左侧或上侧的凹槽),"trough2"(右侧或下侧的凹槽)或 ""(啥都没有)
set(value)
-- 设置 Scale 组件的值(滑块的位置)
Tkinter 组件详解(十):Scale相关推荐
- Tkinter 组件详解(一):Label
Tkinter 组件详解之Label Label(标签)组件用于在屏幕上显示文本或图像.Label 组件仅能显示单一字体的文本,但文本可以跨越多行.另外,还可以为其中的个别字符加上下划线(例如用于表示 ...
- Tkinter 组件详解(七):Entry
Tkinter 组件详解之Entry Entry(输入框)组件通常用于获取用户的输入文本. 何时使用 Entry 组件? Entry 组件仅允许用于输入一行文本,如果用于输入的字符串长度比该组件可显示 ...
- Tkinter 组件详解(八):Listbox
Tkinter 组件详解之Listbox Listbox(列表框)组件用于显示一个选择列表.Listbox 只能包含文本项目,并且所有的项目都需要使用相同的字体和颜色.根据组件的配置,用户可以从列表中 ...
- Tkinter 组件详解(五):Frame
Tkinter 组件详解之Frame Frame(框架)组件是在屏幕上的一个矩形区域.Frame 主要是作为其他组件的框架基础,或为其他组件提供间距填充. 何时使用 Frame 组件? Frame 组 ...
- Tkinter 组件详解(九):Scrollbar
Tkinter 组件详解之Scrollbar Scrollbar(滚动条)组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条.Scrollbar 组件常常被用于实现文本.画布和列表框 ...
- Tkinter组件详解(五):Listbox和Scrollbar
Tkinter组件详解之Listbox Listbox(列表框)组件用于显示一个选择列表.Listbox 只能包含文本项目,并且所有的项目都需要使用相同的字体和颜色.根据组件的配置,用户可以从列表中选 ...
- Tkinter 组件详解(四):Radiobutton
Tkinter 组件详解之Radiobutton Radiobutton(单选按钮)组件用于实现多选一的问题.Radiobutton 组件可以包含文本或图像,每一个按钮都可以与一个 Python 的函 ...
- Tkinter 组件详解(十八):PanedWindow
PanedWindow 组件(Tk8.4 新增)是一个空间管理组件.跟 Frame 组件类似,都是为组件提供一个框架,不过 PanedWindow 允许让用户调整应用程序的空间划分. 何时使用 Pan ...
- Tkinter 组件详解(十九):Toplevel
Toplevel(顶级窗口)组件类似于 Frame 组件,但 Toplevel 组件是一个独立的顶级窗口,这种窗口通常拥有标题栏.边框等部件. 何时使用 Toplevel 组件? Toplevel 组 ...
最新文章
- 不得不了解系列之限流
- Android开发--FileInputStream/OutStream/Sdcard写入
- BZOJ 3529: [Sdoi2014]数表
- 生活中处处有joke!!
- 悟懂MapReduce,不纠结!
- CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 树启 + 状压
- 第三方软件要使用QQ邮箱进行发邮件相关设置
- 前端学习(2488):使用git获取代码
- 信息学奥赛C++语言:顺序输出
- mysql 查询的关键词的执行顺序
- IT公司速查手册的各大IT公司薪资和待遇内幕
- windows bat文件更改为 exe文件
- web开发第三方登陆之微信登陆
- Invalid bound statement (not found): com.example.wyl.mapper.PeijianDAO.selectList异常错误
- 仿今日头条后台管理系统(三)
- 人脸识别-Loss-2010:Softmax Loss(Softmax激活函数 + “交叉熵损失函数”)【样本3真实标签为c_5,则样本3的损失:loss_3=-log(\hat{y}_5^3)】
- C语言鼠标操作方法及源码
- NOIP2016——蚯蚓
- brew mysql 配置文件_修改用brew安装的mysql配置
- 理解DCT与DST【三】:离散正弦变换
热门文章
- [NOI2008] 糖果雨
- HDU 1863 (图论基础prim算法)
- 8086指令系统中的寻址方式
- qemu 规范路径_EVE-NG镜像添加技巧(以思科虚拟化产品为例)
- 【ESP32 开发】ArduinoJson联合PSRAM解决 ESP32内存过小 无限重启的问题
- 京东API item_search - 按关键字搜索商品
- C语言深度解剖读书笔记
- 谈谈CANopen协议的机制
- 苹果原壁纸高清_ios14.2壁纸原图高清分享:苹果ios14.2壁纸高清无水印[多图]
- mtk平台gsensor,msensor方向确定方法