c语言编程笔录

首页 >   > 笔记大全

笔记大全

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应用程序。