tkinter 笔记:列表部件 listbox (莫烦python 笔记)

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tkinter 笔记:列表部件 listbox (莫烦python 笔记)相关的知识,希望对你有一定的参考价值。

1  主体框架

主体框架部分还是

import tkinter as tk
 
window = tk.Tk()
#创建窗口
 
window.title('my window')
#窗口标题
 
window.geometry('500x500')
#窗口大小

2 创建变量& Label 标签

var1 = tk.StringVar()    #创建变量
l =tk.Label(
    window,
    bg='yellow',
    width=4,
    textvariable=var1)
l.pack()

tkinter笔记:通过点击button 控制标签的显示 (莫烦python笔记)_UQI-LIUWJ的博客-CSDN博客

中的一样

3 创建Listbox

3.1 使用StringVar中变量进行创建

var2 = tk.StringVar()
var2.set((11,22,33,44)) 
#为变量设置值

#创建Listbox

lb = tk.Listbox(
    window, 
    listvariable=var2)  
#将var2的值赋给Listbox

3.2 将python-list中的值添加到Listbox 中

#创建一个list并将值循环添加到Listbox控件中
list_items = [1,2,3,4]
for item in list_items:
    lb.insert('end', item)  
#在最后一个位置开始加入值 
#添加完之后,此时Listbox中的值为(11,22,33,44,1,2,3,4)

3.3 Listbox 添加/ 删除值

lb.insert(1, 'first')       
#在第一个位置加入'first'字符
#此时Listbox中的值为(11,'first',22,33,44,1,2,3,4)
lb.delete(2)                
#删除第二个位置的字符
#此时Listbox中的值为(11,'first',33,44,1,2,3,4)
lb.pack()

4 定义触发事件时的函数(点击button之后会发生什么)

def print_selection():
    value = lb.get(lb.curselection())   #获取当前选中的文本
    '''
    lb.curselection()会返回当前光标所在的index
    比如(2,),(3,)之类
    '''

    var1.set(value)    
    #为label设置值

    t.insert('end',str(value)+' ')
    #Text文本框 append 这一次在Label中显示的内容

5 定义button

定义的方式和tkinter 笔记:创建输入框并显示结果 (莫烦python笔记)_UQI-LIUWJ的博客-CSDN博客

中的一致

b1 = tk.Button(
    window, 
    text='print selection', 
    width=15,
    height=2, 
    command=print_selection)
b1.pack()

6 激活窗口

window.mainloop()

7 展示效果

 选择一个列表部件中的item,然后点击'print selection',在Label中就会显示当前选择的item的内容,同时在Text 文本中会append 相应的内容(历史数据)

参考内容:Listbox 列表部件 - 窗口视窗 (Tkinter) | 莫烦Python (mofanpy.com)

以上是关于tkinter 笔记:列表部件 listbox (莫烦python 笔记)的主要内容,如果未能解决你的问题,请参考以下文章

从 tkinter.Listbox 中提取项目列表

调整窗口大小时调整 Tkinter Listbox 小部件的大小

永久添加/删除tkinter列表框中的项目

tkinter学习-滚动条

class4_Listbox 列表部件

Tkinter 组件