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

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

前言

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

image.png

同样的,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()

运行脚本,结果如下:

image.png

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

image.png

示例2

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

import tkinter as tk
window = 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()

运行脚本,结果如下:

image.png

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

image.png

总结

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

相关文章
|
14天前
|
XML JSON 数据库
Python的标准库
Python的标准库
133 77
|
15天前
|
XML JSON 数据库
Python的标准库
Python的标准库
42 11
|
28天前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
107 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
15天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
57 8
|
23天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
31 4
|
22天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Button展示图片事件)
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Button展示图片事件)
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Button展示图片事件)
|
存储 区块链 数据安全/隐私保护
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Listbox/Scrollbar)
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Listbox/Scrollbar)
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Listbox/Scrollbar)
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)
|
21天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!