- PySimpleGUI 教程
- PySimpleGUI - 首页
- PySimpleGUI - 简介
- PySimpleGUI - 环境设置
- PySimpleGUI - Hello World
- PySimpleGUI - 弹出窗口
- PySimpleGUI - 窗口类
- PySimpleGUI - 元素类
- PySimpleGUI - 事件
- PySimpleGUI - 菜单栏
- PySimpleGUI - Matplotlib 集成
- PySimpleGUI - 使用 PIL
- PySimpleGUI - 调试器
- PySimpleGUI - 设置
- PySimpleGUI 有用资源
- PySimpleGUI - 快速指南
- PySimpleGUI - 有用资源
- PySimpleGUI - 讨论
PySimpleGUI - 树形元素
树是一种分层数据结构,由一个或多个节点组成,每个节点可能有一个或多个子节点。节点的这种排列是在 TreeData 对象中完成的,该对象用作创建表格的数据参数。
首先,声明一个 TreeData 对象。
treedata = psg.TreeData()
使用 TreeData 类的 insert() 方法构建节点的层次结构。
TreeData.insert(parent_key, key, display_text, values)
要在树的第一级插入节点,请使用 "" 作为 parant_key。因此,树中的每个顶级节点都将具有父节点 = ""。要插入子节点,请将上一级节点的键作为其 parent_key。
例如,
insert("","MH", "Maharashtra", (175, 150, 200))
将在根级别插入一个键为 MH 的节点。
另一方面,以下命令
insert("MH", "MUM", "Mumbai", (100, 100,100))
将插入一个键为 MUM 的子节点。
TreeData 对象用于使用以下参数构建 Tree 对象:
序号 | 参数及描述 |
---|---|
1 | data 使用 TreeData 类表示的数据 |
2 | headings 每列的各个标题列表 |
3 | col_widths 各列的列宽列表 |
4 | col0_width 第 0 列的大小 |
5 | col0_heading 最左侧列标题中显示的文本 |
6 | def_col_width 默认列宽 |
7 | auto_size_columns 如果为 True,则列的大小由列的内容确定 |
8 | select_mode 与表格元素相同 |
9 | show_expanded 如果为 True,则树将最初显示所有节点完全展开 |
在下面的示例中,我们以树状结构显示了各州的城市列表
import PySimpleGUI as psg psg.set_options(font=("Arial Bold",14)) treedata = psg.TreeData() rootnodes=[ ["","MH", "Maharashtra", 175, 150, 200], ["MH", "MUM", "Mumbai", 100, 100,100], ["MH", "PUN", "Pune", 30, 20, 40], ["MH", "NGP", "Nagpur", 45, 30, 60], ["","TEL", "Telangana", 120, 80, 125], ["TEL", "HYD", "Hyderabad", 75, 55, 80], ["TEL", "SEC", "Secunderabad", 25, 15, 30], ["TEL", "NZB", "Nizamabad", 20, 10, 15] ] for row in rootnodes: treedata.Insert( row[0], row[1], row[2], row[3:]) tree=psg.Tree(data=treedata, headings=['Product A','Product B','Product C' ], auto_size_columns=True, select_mode=psg.TABLE_SELECT_MODE_EXTENDED, num_rows=10, col0_width=5, key='-TREE-', show_expanded=False, enable_events=True, expand_x=True, expand_y=True, ) layout=[[tree]] window=psg.Window("Tree Demo", layout, size=(715, 200), resizable=True) while True: event, values = window.read() print ("event:",event, "values:",values) if event == psg.WIN_CLOSED: break
它将生成以下输出窗口:
pysimplegui_element_class.htm
广告