PythonGUI编程:tkinter初学者入门指南——微调框

云课堂学Python 2024-11-08 22:22:37

在本教程中,将介绍如何创建 Tkinter Spinbox 微调框小部件。

Python 中 Tkinter 中的 Spinbox 小部件用于从指定的给定值范围内选择一个值。

此外,可以直接在 Spinbox 小组件中输入值,就像使用单行文本框小组件一样。

要创建 Spinbox 小部件,请使用构造函数:

tk.Spinbox(master, from_, to, **options)

其中,使用 from_ 和 to 选项指定滑块的最小值和最大值。

获取当前值

要获取 Spinbox 的当前值,可以使用 textvariable。例如:

current_value = tk.StringVar(value=0)spinbox = tk.Spinbox( root, from_=0, to=10, textvariable=current_value, wrap=True)spinbox.pack()

在此示例中,使用 current_value 保存 Spinbox 小组件的当前值。可以通过调用 get() 方法来获取它:

current_value.get()

还可以使用 Spinbox 对象的方法 get() 获取:

spinbox.get()

Spinbox 允许使用列表或元组设置输入的值。

import tkinter as tkroot = tk.Tk()root.geometry('600x400+200+200')root.title('Spinbox 微调框演示')def value_changed(): print(current_value1.get()) print(current_value2.get()) current_value1 = tk.StringVar(value=0)spinbox1 = tk.Spinbox( root, from_=0, to=10, textvariable=current_value1, command=value_changed, wrap=True)spinbox1.pack(padx=10, pady=10)current_value2 = tk.StringVar(value=0)day=('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')spinbox2 = tk.Spinbox( root, from_=0, to=10, values = day, textvariable=current_value2, command=value_changed, wrap=True)spinbox2.pack(padx=10, pady=10)root.mainloop()

调用函数

要在 Spinbox 的值更改时执行函数,可以将该函数分配给选项:command

def value_changed(): print(current_value.get()) current_value = tk.StringVar(value=0)spinbox = tk.Spinbox( root, from_=0, to=10, textvariable=current_value, command=value_changed, wrap=True)spinbox.pack()Spinbox 常用选项

选项

说明

command

更改时要调用的函数

format

格式化字符串

from_

指定最小值。

justify

控制文本的对齐方式:CENTER、LEFT 或 RIGHT。

state

表示 widget 的状态,其默认值为 NORMAL。

textvariable

用于控制小部件文本的行为。

to

指定最大值

values

使用元组指定值

wrap

选择值时是否循环显示。

Spinbox 常用方法

方法

说明

delete(startindex, endindex)

删除指定范围内的字符

get(startindex, endindex)

获取指定范围内的字符

identify(x, y)

标识指定范围内的字符

index(index)

获取给定索引的值

insert(index, string)

将字符串插入到指定的索引处

invoke(element)

用于调用关联的回调

0 阅读:3