Tkinter 组件详解(九):Scrollbar

Tkinter 组件详解之Scrollbar

Scrollbar(滚动条)组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。

何时使用 Scrollbar 组件?

Scrollbar 组件通常几乎与 Text 组件、Canvas 组件和 Listbox 组件一起使用,水平滚动条还能跟 Entry 组件配合。

用法

下边例子我们演示如何使用垂直滚动条。为了在某个组件上安装垂直滚动条,你需要做两件事:

1. 设置该组件的 yscrollbarcommand 选项为 Scrollbar 组件的 set() 方法;

2. 设置 Scrollbar 组件的 command 选项为该组件的 yview() 方法。

import tkinter as tk
 
root = tk.Tk()

sb = tk.Scrollbar(root)
sb.pack(side="right", fill="y")

lb = tk.Listbox(root, yscrollcommand=sb.set)

for i in range(1000):
    lb.insert("end", str(i))

lb.pack(side="left", fill="both")

sb.config(command=lb.yview)
 
root.mainloop()

分析:当 Listbox 组件的可视范围发生改变的时候,Listbox 组件通过调用 set() 方法通知 Scrollbar 组件。而当用户操纵滚动条的时候,将自动调用 Listbox 组件的 yview() 方法。

添加水平滚动条方法跟上边一样,只是将 yscrollcommand 改为 xscrollcommand,yview 改为 xview 即可。

参数

Scrollbar(master=None, **options) (class)

master -- 父组件

**options -- 组件选项,下方表格详细列举了各个选项的具体含义和用法:

选项含义
activebackground1. 指定当鼠标在上方飘过的时候滑块和箭头的背景颜色
2. 默认值由系统指定
activerelief1. 指定当鼠标在上方飘过的时候滑块的样式
2. 默认值是 "raised"
3. 可以选择 "flat","sunken","groove","ridge"
background1. 指定背景颜色
2. 默认值由系统指定
bg跟 background 一样
borderwidth1. 指定边框宽度
2. 默认值是 0
bd跟 borderwidth 一样
command1. 当滚动条更新时回调的函数
2. 通常的是指定对应组件的 xview() 或 yview() 方法
cursor1. 指定当鼠标在上方飘过的时候的鼠标样式
2. 默认值由系统指定
elementborderwidth1. 指定滚动条和箭头的边框宽度
2. 默认值是 -1(表示使用 borderwidth 选项的值)
highlightbackground1. 指定当滚动条没有获得焦点的时候高亮边框的颜色
2. 默认值由系统指定
highlightcolor1. 指定当滚动条获得焦点的时候高亮边框的颜色
2. 默认值由系统指定
highlightthickness1. 指定高亮边框的宽度
2. 默认值是 0(不带高亮边框)
jump1. 指定当用户拖拽滚动条时的行为
2. 默认值是 False,滚动条的任何一丝变动都会即刻调用 command 选项指定的回调函数
3. 设置为 True 则当用户松开鼠标才调用
orient1. 指定绘制 "horizontal"(垂直滚动条)还是 "vertical"(水平滚动条)
2. 默认值是 VERTICAL
relief1. 指定边框样式
2. 默认值是 "sunken"
3. 可以选择 "flat","raised","groove","ridge"
repeatdelay1. 该选项指定鼠标左键点击滚动条凹槽的响应时间
2. 默认值是 300(毫秒)
repeatinterval1. 该选项指定鼠标左键紧按滚动条凹槽时的响应间隔
2. 默认值是 100(毫秒)
takefocus1. 指定使用 Tab 键可以将焦点移到该 Scrollbar 组件上
2. 默认是开启的,可以将该选项设置为 False 避免焦点在此组件上
troughcolor1. 指定凹槽的颜色
2. 默认值由系统指定
width1. 指定滚动条的宽度
2. 默认值是 16 像素

方法

activate(element) 
-- 显示 element 参数指定的元素的背景颜色和样式
-- element 参数可以设置为:"arrow1"(箭头1),"arrow2"(箭头2)或 "slider"(滑块)

delta(deltax, deltay)
-- 给定一个鼠标移动的范围 deltax 和 deltay(像素为单位,deltax 表示水平移动量,deltay 表示垂直移动量),然后该方法返回一个浮点类型的值(范围 -1.0 ~ 1.0)
-- 这通常在鼠标绑定上使用,用于确定当用户拖拽鼠标时滑块的如何移动

fraction(x, y)
-- 给定一个像素坐标 (x, y),该方法返回最接近给定坐标的滚动条位置(范围 0.0 ~ 1.0)

get()
-- 返回当前滑块的位置 (a, b)
-- a 值表示当前滑块的顶端或左端的位置,b 值表示当前滑块的底端或右端的位置(范围 0.0 ~ 1.0)

identify(x, y)
-- 返回一个字符串表示指定位置下(如果有的话)的滚动条部件
-- 返回值可以是:"arrow1"(箭头1),"arrow2"(箭头2)、"slider"(滑块)或 ""(啥都没有)

set(*args)
-- 设置当前滚动条的位置
-- 如果设置则需要两个参数 (first, last),first 表示当前滑块的顶端或左端的位置,last 表示当前滑块的底端或右端的位置(范围 0.0 ~ 1.0)

  • 28
    点赞
  • 163
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: Python TkinterPython 的标准 GUI 库,它提供了一系列的组件,如按钮、文本框、标签、菜单等,可以用于构建图形用户界面。Tkinter 是基于 Tcl/Tk 开发的,因此它具有跨平台的特性,可以在 Windows、Linux、Mac OS 等操作系统上运行。Tkinter 的使用非常简单,只需要导入 Tkinter 模块,创建一个窗口对象,然后在窗口对象上添加各种组件即可。Tkinter 还提供了事件处理机制,可以通过绑定事件来响应用户的操作。总之,Python Tkinter 是一个非常强大、易用的 GUI 库,适合用于开发各种桌面应用程序。 ### 回答2: Python TKinterPython 的标准 GUI(图形用户界面) 库,是 Python 最长寿的 GUI 工具包之一。Python 程序员能够通过它非常容易地创建 GUI 应用程序。这个库由 Tk 接口与其他一些库组成,其中最重要的是 tk 和 ttk。 GUI 系统显示的是图形用户界面,用户可以直接与应用程序进行交互,是一种方便用户操作的方式。常见的 TKinter 组件包括窗口、文本、标签、按钮、单选框、复选框、滚动条、下拉列表框、菜单、画布、框架等。 窗口和框架是 GUI 应用程序的基础,它们可以被认为是其他组件的容器。其中窗口是最外层的容器,它包含所有其他组件。框架是一种包含其他组件的容器,可以用于将组件组织成一组。 按钮组件是响应用户单击的组件,通常用于触发特定操作。它可以用以返回结果,启动程序,转换屏幕到另一个状态等。 文本和标签组件显示一段文字或给用户提供了一个展示数据的区域。它可以用于显示程序输出、问题等其他需要用户交互的场景。 复选框和单选框让用户来选择其中的一个或多个选项,而滚动条和下拉列表框则用于列表或滚动的文本框。 除此之外,还有菜单和画布等其他基本组件。菜单的作用是通过弹出菜单提供对程序设置和选项的访问,而画布的作用是可以用于绘制图形和图表等复杂的用户界面。综上所述,Python TKinter 组件是很完整的组件库,能够满足开发者应用程序的各种需求。 ### 回答3: Python tkinterPython的标准GUI(图形用户界面)库,它是一个用于构建GUI应用程序的集成开发环境(IDE)。Tkinter负责处理GUI的细节,包括窗口、控件、布局、事件等。它可以实现丰富的GUI应用程序和桌面应用程序,如游戏、音频播放器、文本编辑器等。 Tkinter组件包括: 1.窗口(Tk) Tkinter的窗口类是基于Tcl/Tk的有机结合,Tk是图形库,Tcl是一种编程语言。 2. 标签(Label) Label是Tkinter中常用的组件之一,它能够在窗口中展示文本或图片。 3.按钮(Button) Button是一个带有文本或图片的可点击的组件,用户可以使用它来触发事件或操作。 4.文本框(Entry) Entry是一个用于编辑用户输入的文本框,用户可以通过它输入数据。 5.下拉菜单(Menu) Menu是一个用于显示选项列表的组件,通常与菜单栏一起使用。 6.复选框(Checkbutton) Checkbutton是一个用于展示多个选项的组件,用户可以同时选择多个选项。 7.单选按钮(Radiobutton) Radiobutton也是一个用于展示多个选项的组件,但是只能选择其中的一个选项。 8.滚动条(ScrollbarScrollbar用于滚动一个组件中的内容,如文本框或列表等。 9.列表框(Listbox) Listbox是一个用于显示和编辑列表的组件,用户可以选择列表中的某个项目。 10.框架(Frame) Frame是一个用于组织其他组件的容器,它可以作为一个组件放置在窗口中。 11.画布(Canvas) Canvas是一个用于绘制图形和图像的组件,它支持多种绘图操作,如图形绘制、文本绘制、图像处理等。 总之,Python tkinter组件是实现GUI应用程序的重要工具,不仅可以实现简单的窗口、按钮等组件,还能够实现复杂的图形界面和多媒体应用程序。掌握这些组件的用法能够帮助开发者快速构建出美观、实用的GUI应用程序。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值