TTK中是否存在类似Tkinter的列表框组件?
TTK 中的列表框组件说明
TTK 没有原生命名为「Listbox」的组件,但可以通过两种方式实现列表展示需求:
1. 用 ttk.Treeview 模拟列表框
ttk.Treeview 原本用于树形结构展示,通过隐藏默认树形列和层级标识,就能完美模拟列表框的功能,同时支持TTK的主题样式。
示例代码:
import tkinter as tk from tkinter import ttk root = tk.Tk() root.title("TTK 列表模拟") # 初始化Treeview,仅保留数据列 list_tree = ttk.Treeview(root, columns=("content"), show="tree") # 隐藏默认树形列 list_tree.column("#0", width=0, stretch=tk.NO) # 设置内容列宽度 list_tree.column("content", width=250) # 添加列表项 for item in ["文件1.txt", "报告.pdf", "数据表格.xlsx", "图片.png"]: list_tree.insert("", tk.END, values=(item,)) list_tree.pack(padx=15, pady=15) root.mainloop()
2. 混用标准 tkinter Listbox
如果不需要TTK的主题样式,直接使用标准tkinter库的 tk.Listbox 组件即可,它可以和TTK组件在同一界面中正常混用。
示例代码:
import tkinter as tk from tkinter import ttk root = tk.Tk() root.title("标准列表框") list_box = tk.Listbox(root, width=30, height=4) # 添加列表项 for item in ["待办任务1", "待办任务2", "待办任务3", "待办任务4"]: list_box.insert(tk.END, item) list_box.pack(padx=15, pady=15) root.mainloop()
内容的提问来源于stack exchange,提问作者T2D
相关产品推荐
相关产品推荐

