PyQt5QTableView与QTreeView文件展示控件使用

PYQt5 的QTableViewQTreeView真挺实用的,尤其在文件数据展示的时候,简直是利器。单列、多列、树结构都能搞定,适合做数据面板、文件浏览器之类的界面。你要是正好用 PyQt5 搞 GUI,下面这套用法建议收藏。

表格数据的 QTableView,用起来还挺顺。你先整一个QStandardItemModel,把它扔给tableView,设置列头、添加数据就行。多列也没啥复杂的,关键是setHorizontalHeaderLabels()那一步。嗯,再来个resizeColumnsToContents(),列宽自动适应,效果不错。

层级结构的 QTreeView就更像是文件管理器那一挂的。你用QFileSystemModel一建模,设个setRootPath()路径,就能把整个目录挂上去了。setHeaderHidden(True)还能让界面更干净点。不想展示全盘?那就用setRootIndex()只展示某个子目录就好。

从文件读数据也不难,像你要导 CSV 的话,pandas直接上。pd.read_csv()一行搞定,自定义一个继承QAbstractTableModel的模型塞给tableView。性能还行,响应也快。

交互这块建议你加点事件绑定,比如clicked.connect()监听点击,配合index.data()就能取值了。要是你打算支持编辑,可以灵活用setEditTriggers()控制,不然数据一多容易卡。

样式美化方面,Qt StyleSheet还蛮强的。你可以写.qss 文件,也能动态设置,像字体、背景色、选中状态全都能搞。界面清爽点,体验就舒服多了。

如果你项目里刚好有文件展示或结构化数据的需求,不妨试试QTableViewQTreeView这套组合,稳定又灵活,自己定制空间也挺大。

zip 文件大小:631.57KB