ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

tkinter--listbox/scrollbar/scale用法

2022-02-25 22:01:32  阅读:246  来源: 互联网

标签:scale tkinter -- root 滚动条 Scrollbar 组件 Listbox pack


Listbox 列表框

Listbox 只能包含文本项目,并且所有的项目都需要使用相同的字体和颜色。根据组件的配置,用户可以从列表中选择一个或多个选项。

 listbox.insert(索引号,字符串) 方法添加文本。eg, inset(0, 'a') or insert(END, 'b') 上一行结束位置插入

listbox.delete(索引号) eg delete(ACTIVE) 删除选中项(多个选中时选择最后一个)

selectmode

1. 决定选择的模式

2. 四种不同的选择模式:SINGLE(单选)、BROWSE(也是单选,但拖动鼠标或通过方向键可以直接改变选项)、MULTIPLE(多选)和 EXTENDED(也是多选,但需要同时按住 Shift 键或 Ctrl 键或拖拽鼠标实现)

3. 默认是 BROWSE

xscrollcommand

1. 为 Listbox 组件添加一条水平滚动条

2. 将此选项与 Scrollbar 组件相关联即可

yscrollcommand

1. 为 Listbox 组件添加一条垂直滚动条

2. 将此选项与 Scrollbar 组件相关联即可

方法:

yview(*args)

-- 该方法用于在垂直方向上滚动 Listbox 组件的内容,一般通过绑定 Scollbar 组件的 command 选项来实现(具体操作参考:Scrollbar

-- 如果第一个参数是 MOVETO,则第二个参数表示滚动到指定的位置:0.0 表示最顶端,1.0 表示最底端

-- 如果第一个参数是 SCROLL,则第二个参数表示滚动的数量,第三个参数表示滚动的单位(可以是 UNITS 或 PAGES),例如:yview(SCROLL, 3, PAGES) 表示向下滚动三页

通常和scrollbar联动,显示更多项目

Scrollbar 滚动条

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

为了在某个组件上安装垂直滚动条,需要做两件事:

1.设置该组件的yscrollcommand==Scrollbar的组件的set方法

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

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

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

eg:

from tkinter import *

root = Tk()

f1 = Frame(root)
f1.pack(side=TOP)
f2 = Frame(root)
f2.pack(side=BOTTOM)

s = Scrollbar(f1)
s.pack(side=RIGHT, fill=Y)

lb = Listbox(f1, selectmode=EXTENDED, yscrollcommand=s.set)
lb.pack(side=LEFT, fill=BOTH)

for i in range(1000):
    lb.insert(END, i)

Button(f2, text='DELETE', command=lambda x=lb:x.delete(ACTIVE)).pack(side=BOTTOM)
s.config(command=lb.yview)

mainloop()

Scale组件

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

frome_  和 to  滚动范围

tickinterval     刻度

resolution      步长(一次调节的量)

length            滚动条的长度

get()    -- 获得当前滑块的位置

 

from tkinter import *

root = Tk()

s1 = Scale(root, from_=0, to=50, \
           tickinterval=5, resolution=3, length=150)
s1.pack()
s2 = Scale(root, from_=0, to=100, orient=HORIZONTAL, \
           tickinterval=10, resolution=20, length=150)
s2.pack()

def location():
    print('VERTICAL: %s \nHORIZONTAL: %s' %(s1.get(), s2.get()))
Button(root, text='Location', command=location).pack()

mainloop()

NOTE: 来自小甲鱼视频的学习

标签:scale,tkinter,--,root,滚动条,Scrollbar,组件,Listbox,pack
来源: https://blog.csdn.net/peanutfish/article/details/123123231

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有