python学习记录-- tkinter的滚动条和Listbox

Tkinter

Tkinter 是 python 下一个简单的窗口视窗设计的模块,比较适合window风格
如果想用python写一些在window下使用的简单窗口应用的话,使用它还是比较方便的
相对于pyQt等其他界面设计程序,使用Tkinter 设计界面生成的exe会小的多
网上教程较多,这里不多讲,可以参考:
tkinter窗口视窗教程大集合
这里就简单的记录一下自己使用滚动条和Listbox

滚动条属性

在这里插入图片描述

调用函数

在这里插入图片描述

Listbox配合滚动条

直接上代码

from tkinter import *
import tkinter.messagebox as MsgBox

def 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)大小200x100
    root.wm_resizable(False, False)  # 长宽都不允许拉伸

    Label(root, text='SYS:').grid(row=1, column=0)     # 设置一个lable
    lb = Listbox(root, height=4, width=14, selectmode=EXTENDED)   # 初始化Listbox
    lb.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教程-事件绑定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值