龙空技术网

软件测试|超好用超简单的Python GUI库——tkinter(十三)

测试者穆勒 176

前言:

当前我们对“python常用模块tkinter”大约比较注重,我们都想要学习一些“python常用模块tkinter”的相关文章。那么小编也在网上搜集了一些关于“python常用模块tkinter””的相关内容,希望朋友们能喜欢,姐妹们快快来学习一下吧!

前言

我们之前介绍了tkinter的单选框与多选框,单选框和多选框在我们日常生活中有很广泛的使用,我们还可是以音乐播放软件举例,音量调节不是通过我们输入来调节,而是以这样的滑块来滑动。

同样的,tkinter也有控件来实现类似的功能,tkinter的scale控件就可以实现这样的功能。

Scale控件

Scale 控件,即滑块控件或标尺控件,该控件可以创建一个类似于标尺式的滑动条对象,用户通过操作它可以直接设置相应的数值(刻度值)。

基本属性

参数

说明

activebackground

指定当鼠标在上方飘过的时候滑块的背景颜色

bigincrement

1. 设置“大”增长量

2. 该选项设置增长量的大小

3. 默认值是 0,增长量为范围的 1/10

borderwidth

1. 指定边框宽度

2. 默认值是 2

command

1. 指定一个函数,每当滑块发生改变的时候都会自动调用该函数

2. 该函数有一个唯一的参数,就是最新的滑块位置

3. 如果滑块快速地移动,函数可能无法获得每一个位置,但一定会获得滑块停下时的最终位置

digits

1. 设置最多显示多少位数字

2. 补充注释:例如设置 from 选项为 0,to 选项为 20,digits 选项设置为 5,那么滑块的范围就是在 0.000 ~ 20.000 直接滑动

3. 默认值是 0(不开启)

font

1. 指定滑块左侧的 Label 和刻度的文字字体

2. 默认值由系统指定

from_

1. 设置滑块最顶(左)端的位置

2. 默认值是 0

highlightcolor

1. 指定当 Scale 获得焦点的时候高亮边框的颜色

2. 默认值由系统指定

label

1. 你可以在垂直的 Scale 组件的顶端右侧(水平的话是左端上方)显示一个文本标签

2. 默认值是不显示标签

length

1. Scale 组件的长度,默认值是 100 像素

orient

1. 设置 Scale 控件是水平放置(HORIZONTAL)还是垂直放置(VERTICAL)

2. 默认值是 VERTICAL(垂直放置)

repeatdelay

1. 该选项指定鼠标左键点击滚动条凹槽的响应时间

2. 默认值是 300(毫秒)

repeatinterval

1. 该选项指定鼠标左键紧按滚动条凹槽时的响应间隔

2. 默认值是 100(毫秒)

resolution

1. 指定 Scale 组件的分辨率(每点击一下移动的步长)

示例: 比如 resolution 选项设置为 0.1 的话,那么每点击一下鼠标就是在 0.0 ~ 20.0 之间以 0.1 的步长移动

2. 该参数的默认值是 1

showvalue

1. 设置是否显示滑块旁边的数字

2. 默认值为 True

sliderlength

1. 设置滑块的长度

2. 默认值是 30 像素

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)

1. 获得当前滑块位置相对于 Scale 控件左上角位置的相对坐标

2. 如果设置了 value 值,则返回当滑块位于该位置时与左上角的相对坐标

get()

获得当前滑块的位置(即当前数值),返回值可以为整型或者浮点型

identify(x, y)

返回一个字符串表示指定位置下的 Scale 控件

set(value)

设置 Scale 控件的值,即滑块的位置,默认为初始位置

示例1

我们先简单创建一个Scale控件,代码如下:

from tkinter import *# 创建主窗口win =Tk()win.title("温度控制")win.geometry('400x250')# 添加一个 Scale 控件,默认垂直方向,步长设置为 1,长度为100,滑动块的大小为 20,最后使用label参数文本s=Scale(win, from_ =100, to =0,resolution =1,length =200,sliderlength= 20,label ='温度控制' )s.pack()# 设置滑块的位置s.set(value=15)# 显示窗口mainloop()

运行脚本,结果如下:

我们可以滑动滑块,滑动之后结果如下:

示例2

我们创建一个更复杂的示例,代码如下:

import tkinter as tkwindow = tk.Tk()window.title("书本购买量")window.geometry('450x200+450+250')window.resizable(0,0)# 创建一个文本标签label = tk.Label(window, bg='#9FB6CD',width=18, text='')label.grid(row =2)# 创建执行函数def select_price(value):    label.config(text='您购买的书籍数量是 ' + value)# 创建 Scale控件scale = tk.Scale(window,             label='选择您要购买的数量',             from_=0,             to= 100,             orient=tk.HORIZONTAL,   # 设置Scale控件平方向显示             length=500,             tickinterval=10,       # 设置刻度滑动条的间隔             command=select_price)  # 调用执行函数,是数值显示在 Label控件中scale.grid(row =1)# 显示窗口window.mainloop()

运行脚本,结果如下:

我们可以滑动滑块,滑动之后,结果如下所示:

总结

本文主要介绍了tkinter Scale控件的使用,scale控件主要用于一些指标的调节,不适用于输入,适合我们手动滑动模块调节的指标。后面我们将继续介绍tkinter的画布控件。

标签: #python常用模块tkinter