拆分窗口QSplitter

拆分窗口中可以添加许多子控件,各个子控件通过拆分线相互分隔开来,拖动该拆分线可以随意改变子控件大小

 

复制代码
 1 import sys
 2 from PyQt5.QtCore import Qt
 3 from PyQt5.QtWidgets import QApplication, QSplitter, QListView, QTreeView, QTableView, QDirModel,QWidget
 4 
 5 class Demo(QWidget):
 6     def __init__(self):
 7         super(Demo, self).__init__()
 8         self.resize(800,220)
 9         self.p=QSplitter(self)  #实例化拆分窗口
10         self.dir_model = QDirModel(self)  # 实例化目录模型QDirModel
11 
12         self.list_view = QListView(self)
13         self.tree_view = QTreeView(self)
14         self.table_view = QTableView(self)
15         self.list_view.setModel(self.dir_model) #给列表视图设置模型【目录模型】
16         self.tree_view.setModel(self.dir_model) #给树形视图设置模型【目录模型】【列出目录-非常好】
17         self.table_view.setModel(self.dir_model)#给表格视图设置模型
18         self.tree_view.move(270,0)
19         self.table_view.move(540,0)
20 
21         self.tree_view.doubleClicked.connect(self.show_func) #双击树形视图时发出信号
22         #此信号会自动发出包含被双击项信息的参数
23 
24         #self.p.setOrientation(Qt.Vertical) #设置拆分窗口的方向
25         #Qt.Vertical  垂直方向
26         #拆分窗口默认是水平
27 
28         self.p.addWidget(self.list_view)  #给拆分窗口添加控件
29         self.p.addWidget(self.tree_view)
30         self.p.insertWidget(0, self.table_view)  #给拆分窗口插入控件。参数1:位置
31         self.p.setSizes([300, 200, 200])  #设置子控件的高度-垂直,宽度-水平
32         print(self.p.count())  #返回子控件的数量
33         #
34 
35     def show_func(self, index):
36 
37         self.list_view.setRootIndex(index)  #设置列表视图的根索引。把index项目做为列表视图的根索引并显示出来
38         self.table_view.setRootIndex(index) #设置表格视图的根索引
39 
40 
41 if __name__ == '__main__':
42     app = QApplication(sys.argv)
43     demo = Demo()
44     demo.show()
45     sys.exit(app.exec_())
复制代码

 

posted @   天子骄龙  阅读(457)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示