Python Tk nter W dgets列表
更新时间:2023-10-19介绍Python Tkinter
Python Tkinter是一个标准的Python GUI工具包,集成了许多常见的窗口小部件(widgets),如按钮、文本框、滚动条、列表框等等,使得在Python中开发GUI应用变得十分容易。Tkinter基于可视化设计的理念,程序员可以通过添加和组合各种小部件来创建完整的GUI应用程序。下面我们将专注于Tkinter中的widgets列表。
Listbox小部件
Listbox是Tkinter中用来显示一个元素列表的小部件,它由一个定义列表和一个或多个scrollbar小部件组成。下面展示如何在一个列表框中添加一个元素。
import tkinter as tk def add_item(): listbox.insert(tk.END, "Element {}".format(listbox.size()+1)) root = tk.Tk() button = tk.Button(root, text="Add item", command=add_item) button.pack() listbox = tk.Listbox(root) listbox.pack() root.mainloop()
OptionMenu小部件
OptionMenu是Tkinter中的一个小部件,用户可以在下拉列表中选择一个元素,从而改变应用程序的状态。OptionMenu小部件由一组定义和一个scrollbar小部件组成,如下所示:
import tkinter as tk OPTIONS = [ "Option 1", "Option 2", "Option 3", "Option 4" ] def selection_changed(selection): print("Selected option is '{}'".format(selection)) root = tk.Tk() var = tk.StringVar() var.set(OPTIONS[0]) # 初始选项 option_menu = tk.OptionMenu(root, var, *OPTIONS, command=selection_changed) option_menu.pack() root.mainloop()
Treeview小部件
Treeview是一个高级的小部件,可以以树的形式展示层次结构数据,通常用于显示目录树、表格和分类器。Treeview小部件由一组数据列和一个详情栏组成。
import tkinter as tk from tkinter import ttk def on_tree_select(event): selected_item = tree.selection()[0] print(selected_item) root = tk.Tk() tree = ttk.Treeview(root, columns=("col1", "col2", "col3"), show="headings") tree.heading("#1", text="Column 1") tree.heading("#2", text="Column 2") tree.heading("#3", text="Column 3") tree.insert("", tk.END, values=("Row 1", "Value 1", "Value 2")) tree.insert("", tk.END, values=("Row 2", "Value 1", "Value 2")) tree.bind("<>", on_tree_select) tree.pack() root.mainloop()
Conclusion
在Tkinter中,列表框、选项菜单、树视图是三个最常见的小部件,通常用于显示数据和用户交互。Tkinter还提供了许多其他小部件和布局管理器,程序员可以根据需要组合使用各种小部件创建出令人印象深刻、用户友好的GUI应用程序。