[Python] 纯文本查看 复制代码 import tkinter as tk
from tkinter import messagebox
窗口 = tk.Tk()
窗口.title("诺禾机器人-列表框")
窗口.geometry('400x300')
#-------执行的函数。
def click_button(): #按钮的点击事件
# 使用 curselection来选中文本 如果未选择任何项目,self._Listbox.curselection()则应返回一个空列表。由于您随后获取了索引0,
try:
变量一 = 列表框1.get(列表框1.curselection()) # curselection当前选择项
# 设置label值
变量二.set(变量一) #自动更新标签1的内容
print(变量一)
except Exception as e:
e = '发现一个错误'
messagebox.showwarning(e, '没有选择任何条目') # messagebox库的调用
# 创建变量,用变量二用来接收鼠标点击的具体选项内容
变量二 = tk.StringVar()
标签1 = tk.Label(窗口, bg='#B0B0B0', font=( '微软雅黑', 15), width=10, textvariable=变量二)
# columnspan控件实例所跨的列数,默认为 1 列,通过该参数可以合并一行中多个领近单元格。
标签1 .grid(row=0, columnspan=1)
标签2 = tk.Label(窗口, bg='#B0B0B0', font=('微软雅黑', 15), width=10, textvariable=变量二)
标签2 .grid(row=0, column=1, columnspan=1)
# 创建一个按钮并放置,点击按钮调用print_selection函数
按钮1 = tk.Button(窗口, text='获取当前选项', command=click_button)
按钮1.grid(row=1)
按钮2 = tk.Button(窗口, text='关闭窗口', command=窗口.destroy) # 窗口.destroy或者quit都是可以的,前者效率高
按钮2.grid(row=1, column=1)
# 创建Listbox并为其添加内容
'''
StringVar是一个“字符串变量”对象,可以与Entry、Label等控件绑定,这里的绑定是双向绑定,
也就是既可以通过该变量来获取Entry、Label等控件中的值,也可以通过更改该变量来改变Entry、Label等控件中的值。
'''
变量三 = tk.StringVar()
变量三.set(("机器人", "Scratch", "Python", "C++"))
# 创建Listbox列表框1,通过 listvariable来传递变量
列表框1 = tk.Listbox(窗口, listvariable=变量三)
#以下三种添加列表的方式
# 新建一个序列,然后将值循环添加到Listbox控件中
items = ["C", "Java", "Python", "C#", "Golang", "Runby"]
for i in items:
列表框1.insert('end', i) # 从最后一个位置开始加入值
列表框1.insert(0, '编程学习') # 在第一个位置插入一段字符串
列表框1.delete(4) # 删除第2个位置处的索引
列表框1.grid(row=2)
#主窗显示
窗口.mainloop()
|