本文主要是介绍python学习记录-- tkinter的滚动条和Listbox,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Tkinter
Tkinter 是 python 下一个简单的窗口视窗设计的模块,比较适合window风格
如果想用python写一些在window下使用的简单窗口应用的话,使用它还是比较方便的
相对于pyQt等其他界面设计程序,使用Tkinter 设计界面生成的exe会小的多
网上教程较多,这里不多讲,可以参考:
tkinter窗口视窗教程大集合
这里就简单的记录一下自己使用滚动条和Listbox
滚动条属性
调用函数
Listbox配合滚动条
直接上代码
from tkinter import *
import tkinter.messagebox as MsgBoxdef showInfo(event):MsgBox.showinfo("Favorite", lb.get(lb.curselection()))if __name__ == '__main__':root = Tk()root.title("My tools") # 标题设置root.geometry('200x100+400+400') # 位置大小设置, 起点(400,400)大小200x100root.wm_resizable(False, False) # 长宽都不允许拉伸Label(root, text='SYS:').grid(row=1, column=0) # 设置一个lablelb = Listbox(root, height=4, width=14, selectmode=EXTENDED) # 初始化Listboxlb.grid(row=0, rowspan=3, column=1, columnspan=4, padx=5, sticky=W) # 设置listbox位置scrolly = Scrollbar(root, width=20, orient="vertical", command=lb.yview) # 初始化滚动条,纵向并绑定listbox的y轴scrolly.grid(row=0, rowspan=3, column=5, sticky=NS) # 设置滚动条位置lb['yscrollcommand'] = scrolly.set # 将滚动条和listbox纵向绑定lb.bind("<Double-Button-1>", showInfo) # 绑定双击事件for i in ["linux", "android", "ios", "deepin", "windows", "ubuntu", "Unix"]:lb.insert(END, i) # 在listbox尾部追加数据lb.select_set(0) # 设置默认选中第一个root.mainloop()
注意事项:
- Listbox设置可以使用shift或ctrl实现多选 需要配置 selectmode=EXTENDED
- 滚动条和listbox绑定需要同时设置滚动条和listbox两端的command参数,且要统一绑定横向或纵向
- 滚动条的摆放位置以及方向参数orient
- 滚动条占用多行或多列需要设置参数sticky,否者只居中显示中间一段
- 绑定事件需要设定回调函数和绑定的事件类型(字符串形式,这里使用的是鼠标双击事件)
python tkinter教程-事件绑定
这篇关于python学习记录-- tkinter的滚动条和Listbox的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!