python tkinter treeview分级显示sqlite3数据库内容




import tkinter as tk
from tkinter import ttk
import sqlite3
 
def populate_treeview(tree, cursor):
    cursor.execute("SELECT * FROM table_name")  # 替换为你的表名
    rows = cursor.fetchall()
    for row in rows:
        parent_id = None
        for column, data in enumerate(row):
            if column == 0:  # 假设第一列是父级ID
                parent_id = data
                if parent_id not in parent_map:
                    parent_map[parent_id] = tree.insert('', 'end', text=parent_id)
            else:
                tree.insert(parent_map.get(parent_id), 'end', text=data)
 
def main():
    # 创建Tkinter窗口
    root = tk.Tk()
    root.title("SQLite3数据库TreeView展示")
 
    # 连接SQLite3数据库
    conn = sqlite3.connect('your_database.db')  # 替换为你的数据库文件名
    cursor = conn.cursor()
 
    # 创建Treeview控件
    tree = ttk.Treeview(root, columns=('Size', 'Modified'))
    tree.heading('#0', text='节点名')
    tree.heading('Size', text='大小')
    tree.heading('Modified', text='修改日期')
    tree.pack(fill=tk.BOTH, expand=True)
 
    # 填充Treeview控件
    parent_map = {}
    populate_treeview(tree, cursor)
 
    # 运行Tkinter事件循环
    root.mainloop()
 
if __name__ == '__main__':
    main()

这段代码首先创建了一个Tkinter窗口,连接了SQLite3数据库,并创建了一个Treeview控件。然后定义了populate_treeview函数来遍历数据库表的所有行,并将数据插入到Treeview控件中。最后,运行Tkinter的事件循环。在这个过程中,使用了一个字典parent_map来跟踪父级ID与Treeview项之间的关系,以确保数据按层级正确显示。

最后修改于:2024年09月01日 22:08

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日