2.4.1 ScrollView(滚动条)_Android基础入门教程

Python GUI 编程:tkinter 初学者入门指南——滚动条

在本文中,将介绍 tkinter Scrollbar 滚动条小部件以及如何将其链接到其他可滚动的小部件。

Scrollbar 滚动条小部件允许用户浏览窗口中显示不完整的内容,通常与文本框、列表框和画布等小部件一起使用,以处理大量数据。

要使用滚动条小部件,需要创建一个滚动条小部件,将滚动条与可滚动小部件链接起来。

使用构造函数创建滚动条。

scrollbar = tk.Scrollbar(
    master,
    orient=&#;vertical&#;,
    command=widget.yview
)

在此语法中,orient 参数指定滚动条是水平滚动还是垂直滚动。command 参数允许滚动条与可滚动小部件的关联的过程。

文本小部件添加滚动条

import tkinter as tk
root = tk.Tk()
root.geometry(&#;600x400&#;)
root.title(&#;Scrollbar 滚动条演示&#;)
# 创建文本小部件
text = tk.Text(root, height=, width=, font=(&#;Arial&#;, ), wrap=&#;none&#;)

# 创建垂直滚动条
scrollbar1 = tk.Scrollbar(root, orient=&#;vertical&#;, command=text.yview)
scrollbar1.pack(side=tk.RIGHT, fill=&#;y&#;)
# 创建水平滚动条
scrollbar2 = tk.Scrollbar(root, orient=&#;horizontal&#;, command=text.xview)
scrollbar2.pack(side=tk.BOTTOM, fill=&#;x&#;)
# 将滚动条与文本小部件关联
text[&#;yscrollcommand&#;] = scrollbar1.set
text[&#;xscrollcommand&#;] = scrollbar2.set

text.pack(side=tk.LEFT, fill=&#;both&#;)

for i in range(1,):
    position = f&#;{i}.0&#;
    text.insert(position,f&#;Line {i}\n&#;);
root.mainloop()

列表框添加滚动条

import tkinter as tk
root = tk.Tk()
root.geometry(&#;600x400&#;)
root.title(&#;Scrollbar 滚动条演示&#;)

# 创建列表框小部件
listbox = tk.Listbox(root, width=, height=)
listbox.pack(side=tk.LEFT)

# 创建垂直滚动条
scrollbar1 = tk.Scrollbar(root, orient=&#;vertical&#;, command=listbox.yview)
scrollbar1.pack(side=tk.RIGHT, fill=&#;y&#;)

# 将滚动条与列表框小部件关联
listbox[&#;yscrollcommand&#;] = scrollbar1.set
for i in range(1,):
    listbox.insert(tk.END,f&#;Line {i}\n&#;);
root.mainloop()

画布添加滚动条

import tkinter as tk
root = tk.Tk()
root.geometry(&#;600x400&#;)
root.title(&#;Scrollbar 滚动条演示&#;)

# 创建canvas 画布
canvas = tk.Canvas(root, bg=&#;white&#;, scrollregion=(0,0,,))

#创建垂直滚动条
scrollbar1 = tk.Scrollbar(root, orient=&#;vertical&#;, command=canvas.yview)
scrollbar1.pack(side=tk.RIGHT, fill=&#;y&#;)

# 创建水平滚动条
scrollbar2 = tk.Scrollbar(root, orient=&#;horizontal&#;, command=canvas.xview)
scrollbar2.pack(side=tk.BOTTOM, fill=&#;x&#;)

# 将滚动条与列表框小部件关联
canvas[&#;yscrollcommand&#;] = scrollbar1.set
canvas[&#;xscrollcommand&#;] = scrollbar2.set
canvas.pack(side=tk.LEFT, expand = True, fill = &#;both&#;)

canvas.create_rectangle(, , , , fill=&#;blue&#;)
root.mainloop()

Scrollbar 滚动条常用选项

选项

描述

activebackground

获得焦点时的背景颜色。

bg

背景颜色。

bd

边框大小。默认 2 像素。

cursor

鼠标指针类型。

command

调用的关联过程。

elementborderwidth

滑块边框宽度。默认 -1。

highlightthickness

获得焦点时高光粗细。

highlightbackground

未处于焦点的突出显示颜色。

highlightcolor

获得焦点时的突出显示颜色。

jump

控制滚动跳转的行为。

orient

滚动条的方向 horizontal 或 vertical。

width

滚动条的宽度。

troughcolor

内部的颜色。

原文链接:,转发请注明来源!