QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

VIP至尊会员

Rank: 15Rank: 15Rank: 15

积分
834
查看: 477|回复: 1

请问PyQt的Treeview怎么展开一层节点

[复制链接]
最佳答案
0 
累计签到:1380 天
连续签到:6 天
继续思索 发表于 2018-2-1 21:41:24 4771 | 显示全部楼层 |阅读模式
50鱼币
本帖最后由 继续思索 于 2018-2-1 21:43 编辑

请问PyQt的Treeview控件怎样,初始化展开指定一层节点?如下图
有鱼油知道的麻烦告知一下。谢谢


需要这样的效果,有什么方法可用?
就打开窗口时,自动的展开第一层。
捕获1.PNG


而不是下边这样 全展开的。。。
捕获.PNG



  1. from PyQt5.QtCore import  Qt, QRect
  2. from PyQt5.QtGui import QStandardItemModel, QStandardItem
  3. from PyQt5.QtWidgets import QDialog, QApplication
  4. from PyQt5 import QtWidgets


  5. class Dialog(QDialog):
  6.     """
  7.     Class documentation goes here.
  8.     """
  9.     def __init__(self, parent=None):
  10.         """
  11.         Constructor
  12.         
  13.         @param parent reference to the parent widget
  14.         @type QWidget
  15.         """
  16.         super(Dialog, self).__init__(parent)
  17.         self.setupUi(self)
  18.         
  19.         date_1 = ["2018-1-1", "2018-1-2","2018-1-3"]
  20.         title = [["标题1","标题2" ], ["标题A","标题B","标题C"], ["标题a"]]
  21.         connect = [[["内容1","内容1"], ["内容1","内容1"]],\
  22.                    [["内容1","内容2222"], ["内容2222","内容2222"], ["内容2222","内容2222"]], \
  23.                    [["内容333","内容333"]]
  24.                    ]
  25.         self.tv_Catalog_two_2(self.treeView,date_1, title,connect  )
  26.         self.treeView.expandAll()
  27.         
  28.     def setupUi(self, Dialog):
  29.         Dialog.setObjectName("Dialog")
  30.         Dialog.resize(765, 500)
  31.         Dialog.setSizeGripEnabled(True)
  32.         self.treeView = QtWidgets.QTreeView(Dialog)
  33.         self.treeView.setGeometry(QRect(20, 20, 711, 441))
  34.         self.treeView.setObjectName("treeView")
  35.         
  36.         
  37.     def tv_Catalog_two_2(self, controls,  list_data_one, list_data_two, list_data_three, win_title="标题" ):
  38.         """
  39.         # 参数1:        
  40.         """
  41.         model = QStandardItemModel(controls)               
  42.         model.setColumnCount( 1 )                           
  43.         model.setRowCount( len(list_data_one) )           
  44.         model.setHeaderData(0, Qt.Horizontal, win_title )  
  45.         
  46.         count_i = -1
  47.         count_j = -1
  48.         
  49.         for temp_i in list_data_one :                       
  50.             count_i += 1
  51.             root_item = QStandardItem( temp_i )
  52.             for temp_j in list_data_two[count_i]:
  53.                 count_j += 1
  54.                 item2 = QStandardItem( temp_j )            
  55.                 root_item.appendRow(item2)
  56.                 for temp_p in list_data_three[count_i][count_j]:            
  57.                     item3 = QStandardItem( temp_p )
  58.                     item2.appendRow(item3)
  59.             count_j = -1
  60.             model.setItem(count_i, 0, root_item )
  61.         controls.setModel(model)  


  62. if __name__ == "__main__":
  63.     import sys
  64.     app = QApplication(sys.argv)

  65.     ui = Dialog()

  66.     ui.show()
  67.     sys.exit(app.exec_())
复制代码

楼层
跳转到指定楼层
最佳答案
0 
累计签到:1380 天
连续签到:6 天
继续思索  楼主| 发表于 2018-2-6 13:35:37 | 显示全部楼层
没人有这样的需求吗? 知道的鱼油麻烦告知一下 看文档又没理解到。没看懂。。无奈了。。。

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-5-25 15:01

快速回复 返回顶部 返回列表