当前位置: 首页 > news >正文

Python GUI 编程:tkinter 初学者入门指南——滑块

在本文中,将介绍如何使用 tkinter Scale 滑块小部件创建滑块。滑块可以通过移动指示器来输入值。滑块有垂直和水平两种样式。

要创建滑块,使用如下构造函数。

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

使用 from_to 选项指定滑块的最小值和最大值。使用 orient 选项指定滑块的排列方式,选项值可以是 horizontalvertical

import tkinter as tk
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Scale 滑块演示')scale1 = tk.Scale(root, from_=0, to=100, orient='horizontal', length=200)
scale1.pack()
scale2 = tk.Scale(root, from_=0, to=100, orient='vertical', length=200)
scale2.pack()
root.mainloop()

获取当前值

要获取滑块的当前值,可以使用 variable 选项及 DoubleVar()

在滑块的值发生变化时运行函数,可以使用 command 选项调用函数。

import tkinter as tk
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Scale 滑块演示')
def scale_changed(event):scale_label.configure(text=current_value.get())current_value = tk.DoubleVar()
scale = tk.Scale(root, from_=0, to=100, orient='horizontal', length=200, variable=current_value, command=scale_changed)
scale.pack()
scale_label = tk.Label(root, text=' ')
scale_label.pack()
root.mainloop()

利用 Scale 小部件的 resolution 参数来设置步长。

resolution 参数设置为 5,这意味着滑块的相邻两个值的差为 5。

# 实例:颜色合成
import tkinter as tk
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Scale 滑块演示')
def rgb(v):color_c='#%02x%02x%02x' % (scale1.get(), scale2.get(), scale3.get())color_r='#%02x%02x%02x' % (scale1.get(), 0, 0)color_g='#%02x%02x%02x' % (0, scale2.get(), 0)color_b='#%02x%02x%02x' % (0, 0, scale3.get())button1.config(bg=color_c)  button1.config(text=color_c)   scale1.config(bg=color_r)scale2.config(bg=color_g)scale3.config(bg=color_b)label = tk.Label(root, text="颜色合成", font=("Helvetica", 20))
label.pack(padx=5,pady=10)scale1 = tk.Scale(root, from_=0, to=255,bg='red', orient='horizontal', length=250, command=rgb)
scale1.pack(padx=5,pady=10) scale2 = tk.Scale(root, from_=0, to=255,bg='green', orient='horizontal', length=250, command=rgb)
scale2.pack(padx=5,pady=10) scale3 = tk.Scale(root, from_=0, to=255,bg='blue', orient='horizontal', length=250,command=rgb)
scale3.pack(padx=5,pady=10) button1=tk.Button(root,text='颜色合成',width=15)
button1.pack(padx=5,pady=10)
root.mainloop()


http://www.mrgr.cn/news/69829.html

相关文章:

  • 【JAVA】正则表达式中的捕获组和非捕获组
  • AI写作(二)NLP:开启自然语言处理的奇妙之旅(2/10)
  • Pixel Streaming入门教程:SignallingWebServer
  • 地区级的可视化地图不设计,进来看看超炫的样式吧
  • 使用ookii-dialogs-wpf在WPF选择文件夹时能输入路径
  • Spring Boot 的生命周期
  • 【C++ 20进阶(2):属性 Attribute】
  • 云计算基础知识
  • 金融行业信息流投放方法论及金融客户投放案例
  • 2024 第五次周赛
  • Python根据指定代理IP,创建AdsPower指纹浏览器窗口
  • “掌握AI绘画技巧:Stable Diffusion高质量图像生成之提示词撰写指南“
  • Entity Framework的简单使用案例
  • Java代码操作ZooKeeper(使用原生 ZooKeeper 客户端库)
  • SpringBoot框架的简介及实现步骤
  • GPT-5 终于来了 —— 人们的预期与现实
  • 人工智能在智能交通系统中的应用
  • 4.3软件设计:面对对象的设计
  • 洛古---越狱问题【快速幂】
  • python manage.py命令集
  • Spring IOC 和Spring Aop
  • 漫谈分布式唯一ID
  • 【双十一特惠】腾讯云省钱攻略:如何智取云计算资源
  • goframe开发一个企业网站 rabbitmq队例15
  • p4dctl命令工具
  • 丹摩征文活动|Faster-Rcnn-训练与测试详细教程