• 拆分窗口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_())
  • 相关阅读:
    通过field:global给子元素添加css样式
    TP5 调用邮箱接口
    php数组使用json_encode函数中文被编码成null的原因和解决办法
    UNIX系统上的抓包工具tcpdump常用命令说明
    快速搭建ELK7.5版本的日志分析系统--搭建篇
    Kubernetes实战之部署ELK Stack收集平台日志
    k8s实战之部署Prometheus+Grafana可视化监控告警平台
    Linux防火墙firewalld安全设置
    在zabbix中实现发送带有图片的邮件和微信告警
    用Dockerfile部署zabbix
  • 原文地址:https://www.cnblogs.com/liming19680104/p/10383164.html
Copyright © 2020-2023  润新知