# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
class GeneratedUI:
"""生成的Tkinter界面"""
def __init__(self, master=None):
# 创建主窗口
self.master = master if master else tk.Tk()
self.master.title("列表框的使用")
self.master.geometry("500x350+700+100")
self.master.configure(bg='white')
# 创建界面组件
self.create_widgets()
# 1、添加项
self.master.nametowidget('列表框_账号').insert(tk.END, "账号6")
# 2、设置多选模式
self.master.nametowidget('列表框_账号').config(selectmode="multiple")
# 3、按钮点击事件 取选中的项
self.master.nametowidget('按钮_取选中的项').config(command=self.取选中的项)
self.master.nametowidget('按钮_一键全选').config(command=self.一键全选)
self.master.nametowidget('按钮_一键取消').config(command=self.一键取消)
def 一键全选(self):
self.master.nametowidget('列表框_账号').selection_set(0,tk.END) # 全部选中
def 一键取消(self):
self.master.nametowidget('列表框_账号').selection_clear(0, tk.END) # 清空 取消所有选中的项
def 取选中的项(self):
# all_items = self.master.nametowidget('列表框_账号').get(0, tk.END) # 获取所有的项的名称
选中的索引 = self.master.nametowidget('列表框_账号').curselection() # 索引元组
if 选中的索引:
for 索引 in 选中的索引:
选中项文本 = self.master.nametowidget('列表框_账号').get(索引)
# print(选中项文本)
self.登录账号(选中项文本)
def 登录账号(self,账号名称):
print(f'{账号名称},登录成功!')
def create_widgets(self):
"""创建所有界面组件"""
# 列表框: 列表框_105ef208 -> listbox_1
self.listbox_1 = tk.Listbox(
self.master,
bg="white",
fg="black",
font=('微软雅黑', 10),
name="列表框_账号"
)
self.listbox_1.place(
x=18.0,
y=62.0,
width=465.0,
height=276.0
)
self.listbox_1.insert(tk.END, "账号1")
self.listbox_1.insert(tk.END, "账号2")
self.listbox_1.insert(tk.END, "账号3")
self.listbox_1.insert(tk.END, "账号4")
self.listbox_1.insert(tk.END, "账号5")
# 按钮: 按钮_7e9d98c1 -> btn_1
self.btn_1 = tk.Button(
self.master,
text="取选中的项",
bg="#4CAF50",
fg="white",
font=('微软雅黑', 10),
name="按钮_取选中的项"
)
self.btn_1.place(
x=54.0,
y=17.0,
width=100,
height=25
)
# 按钮: 按钮_4a4926b2 -> btn_2
self.btn_2 = tk.Button(
self.master,
text="一键全选",
bg="#4CAF50",
fg="white",
font=('微软雅黑', 10),
name="按钮_一键全选"
)
self.btn_2.place(
x=172.0,
y=17,
width=100,
height=25
)
# 按钮: 按钮_56a4dab7 -> btn_3
self.btn_3 = tk.Button(
self.master,
text="一键取消",
bg="#4CAF50",
fg="white",
font=('微软雅黑', 10),
name="按钮_一键取消"
)
self.btn_3.place(
x=287.0,
y=17,
width=100,
height=25
)
def main():
"""主函数"""
root = tk.Tk()
app = GeneratedUI(root)
root.mainloop()
if __name__ == "__main__":
main()