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

news/2024/11/8 12:30:52 标签: python, 开发语言

在本教程中,将介绍如何创建 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 tk
root = 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)用于调用关联的回调

http://www.niftyadmin.cn/n/5743903.html

相关文章

让Apache正确处理不同编码的文件避免中文乱码

安装了apache2.4.39以后&#xff0c;默认编码是UTF-8&#xff0c;不管你文件是什么编码&#xff0c;统统按这个来解析&#xff0c;因此 GB2312编码文件内的中文将显示为乱码。 <!doctype html> <html> <head><meta http-equiv"Content-Type" c…

WPF如何使用外部字体

当我们所使用的字体&#xff0c;系统不存在怎么办&#xff1f; 一种方式就是给系统安装该字体&#xff0c;这种方式安装的字体能够全局生效。 控制面板中可以看到本机已经安装了哪些字体&#xff1a; 第二种方法就是免安装&#xff0c;直接加载字体资源。 一. 全局安装&…

C++ 判断是不是平衡二叉树

一&#xff1a;题目 输入一棵节点数为 n 二叉树&#xff0c;判断该二叉树是否是平衡二叉树。在这里&#xff0c;我们只需要考虑其平衡性&#xff0c;不需要考虑其是不是排序二叉树 平衡二叉树&#xff08;Balanced Binary Tree&#xff09;&#xff0c;具有以下性质&#xff1a…

以RK3568为例,ARM核心板如何实现NTP精准时间同步?

背景 网络时间协议NTP&#xff08;Network TimeProtocol&#xff09;是用于互联网中时间同步的标准互联网协议&#xff0c;可以把计算机的时间同步到某些时间标准。NTP对于我们产品来说有什么用呢&#xff0c;简单的讲&#xff0c;当你的设备时间不准确了&#xff0c;你可以接…

【Linux】进程控制——创建,终止,等待回收

目录 进程创建fork再介绍写时拷贝 进程终止退出码退出方式 进程等待获取子进程statuswaitwaitpid 在前两篇进程概念中&#xff0c;对进程进行了介绍&#xff0c;进行了初步认识&#xff0c;也认识到了与之相关联的进程地址空间&#xff1b;本文则对进程的生命周期——创建&…

【论文复现】自动化细胞核分割与特征分析

本文所涉及所有资源均在这里可获取。 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 论文复现 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f496; 自动化细胞核分割与特征分析 引言效果展示HoverNet概述HoverNet原理分析整…

Uniapp去除顶部导航栏-小程序、H5、APP适用

在 UniApp 中&#xff0c;"globalStyle" 配置项用于设置全局样式&#xff0c;特别是用于小程序、App 和 H5 页面上的导航栏样式。 1. 修改 pages.json 配置&#xff08;局部配置&#xff09; 如果你希望特定页面去除顶部导航栏&#xff0c;可以在pages配置"na…

Python中文本类型和列表类型的相互转换

目录 1. 将str转换为list2. 应用场景2.1 API数据接收2.2 WEB开发 3. 将数据转换为str3.1 str函数3.2 json.dumps函数3.3 对比 4. 应用场景 1. 将str转换为list 在Python中&#xff0c;可以通过ast.literal_eval函数来实现&#xff0c;它能够安全地评估一个字符串&#xff0c;并…