Python Tkinter 中的 Tree view 小部件和 Tree view 滚动条

17 Mar 2025 | 5 分钟阅读

GUI 是图形用户界面(Graphical User Interface)的缩写,它是用户与应用程序交互的图形化界面设计,如图标、菜单等。Tkinter 是一个 Python 模块,用于开发任何项目的 GUI,从应用程序到网站。它是创建 GUI 最广泛使用的模块之一,可以更快地完成工作。该模块的功能使设计师的工作更加轻松。

要使用模块中的任何函数,我们需要导入 Tkinter

使用 Tkinter,我们可以通过 Treeview 以分层方式显示信息。本教程将介绍以下内容

  1. Tree view
  2. Tree view 小部件
  3. Tree view 滚动条

现在让我们逐一分解这些词,逐一学习它们

  1. Tree view(也称为“大纲视图”)是数据分层表示的图形化可视化,其中每个项目都有更多的子项目。
  2. Tree view 小部件是用户与表示的分层结构交互的方式。Tkinter 中可以有两种 Tree view 小部件
    1. Tree table 小部件:以表格形式显示结构化数据,其中行代表项目/实体,列代表项目的属性。
    2. Hierarchical 小部件:这是数据的级别表示。可以有任意数量的顶层节点,只有当我们点击扩展时,子节点才会出现。一个顶层节点可以有第二级和第三级节点。
      下面是一个 Tree view 数据分层表示的示例
      Tree view widgets and Tree view scrollbar in Tkinter-Python
  3. Tree view 滚动条是使用 Tree view 小部件的普通滚动条。

首先,让我们介绍 Tree view 小部件的基础知识

要创建 Tree view 小部件,我们需要导入 tkinter.ttk 模块。Tkinter 有两种小部件——经典和小部件。要使用小部件,我们需要使用 tkinter 模块的 ttk 类

表格表示

输出

Tree view widgets and Tree view scrollbar in Tkinter-Python

首先,我们导入了 Tkinter 模块、ttk 子模块和所需的功能(show info)。我们创建了一个名为 root_window 的根窗口,为其命名并设置了尺寸。

使用 ttk.Treeview(),我们创建了一个带有 root_window 和列的 Table Tree view 小部件,并通过指定 'headings' 来显示,我们告诉函数 在表中显示表头行。现在,当我们创建表格表示时,我们在元组中指定列名。

最后,我们为列分配了标题,插入了数据,并创建了一个函数来处理事件(单击表格中的某一行时,会显示一条消息)。通过配置它,我们将表格设置在窗口中。

分层表示

下面是一个包含上面讨论的工程课程分层表示示例的程序

输出

Tree view widgets and Tree view scrollbar in Tkinter-Python

我们遵循了从表格表示到创建 Tree view 小部件的相同步骤。创建小部件后,我们向小部件插入元素,并使用 iid 来单独标识每个项目。插入所有项目后,我们使用 move() 函数 通过更改缩进来指定子项

您会注意到,只有当我们点击层级结构时,所有子内容才会显示出来。

Treeview 滚动条

常规滚动条可以使用 Treeview 小部件,这称为“Treeview 滚动条”。现在我们已经了解了 Treeview 小部件,让我们尝试创建一个 Treeview 滚动条

输出

Tree view widgets and Tree view scrollbar in Tkinter-Python Tree view widgets and Tree view scrollbar in Tkinter-Python