首页 > 其他分享 >pyqt5-QTreeWidget

pyqt5-QTreeWidget

时间:2023-04-16 23:59:11浏览次数:42  
标签:__ myTree self pyqt5 QTreeWidgetItem ui QTreeWidget

1、介绍

树形组件

2、类和初始化

class QTreeWidget(QTreeView):
    """ QTreeWidget(parent: QWidget = None) """
    def __init__(self, parent=None):
        pass

3、属性

4、方法

(1)setColumnCount

  • 设置列数,参数为int类型。树形组件只能是设置为1

(2)setHeaderLabels

  • 设置树形组件的标题,参数为str类型。不参与树的收容

(3)setColumnWidth

  • 设置列宽
    • 第一个参数为列的数值索引,从0开始
    • 第二个参数为列宽

(4)addTopLevelItem

  • 添加顶级的项,参数类型为QTreeWidgetItem

(5)expandAll

  • 将全部项及子项展开

5、事件

6、示例

import sys

from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton, QRadioButton, QCheckBox, QDialogButtonBox, \
    QComboBox, QFontComboBox, QLineEdit, QTextEdit, QPlainTextEdit, QSpinBox, QTreeWidget, QTreeWidgetItem
from PyQt5.uic import loadUi

"""
极简的窗口
"""


class my_window:
    def __init__(self):
        self.ui = loadUi('ui\\11_QTreeWidget.ui')
        self.ui: QMainWindow
        self.ui.treeWidget: QTreeWidget

        self.ui.pushButton: QPushButton
        self.ui.pushButton.clicked.connect(self.opt)

        self.ui.show()

    def opt(self):
        print("abc")
        self.ui.treeWidget: QTreeWidget

        self.myTree = self.ui.treeWidget
        # 设置列数
        self.myTree.setColumnCount(1)
        # 设置树形控件头部的标题
        self.myTree.setHeaderLabels(['机构列表'])

        # 设置根节点
        self.root = QTreeWidgetItem(self.myTree)
        self.root.setText(0, '本单位')

        # 设置树形控件的列的宽度
        self.myTree.setColumnWidth(0, 100)

        # 设置子节点1
        child1 = QTreeWidgetItem(self.root)
        child1.setText(0, '市场部')
        self.root.addChild(child1)

        # 设置子节点11
        child11 = QTreeWidgetItem(child1)
        child11.setText(0, '销售班')

        # 设置子节点2
        child2 = QTreeWidgetItem(self.root)
        child2.setText(0, '财务部')

        # 设置子节点21
        child21 = QTreeWidgetItem(child2)
        child21.setText(0, '财务一班')

        # 加载根节点的所有属性与子控件
        self.myTree.addTopLevelItem(self.root)

        # TODO 优化2 给节点添加响应事件
        self.myTree.clicked.connect(self.onClicked)

        # 节点全部展开
        self.myTree.expandAll()

    def onClicked(self):
        item = self.myTree.currentItem()
        print('Key=%s' % (item.text(0)))

if __name__ == "__main__":
    app = QApplication([])
    w = my_window()
    sys.exit(app.exec_())

标签:__,myTree,self,pyqt5,QTreeWidgetItem,ui,QTreeWidget
From: https://www.cnblogs.com/wd404/p/17324476.html

相关文章

  • pyqt5-QSpinBox
    1、介绍数值调整组件,可以通过点击切换数值。一般是十进制整数2、类和初始化classQSpinBox(QAbstractSpinBox):"""QSpinBox(parent:QWidget=None)"""def__init__(self,parent=None):pass3、属性4、方法5、事件......
  • pyqt5-QPlainTextEdit
    1、介绍这是pyqt的纯文本多行输入组件。2、类和初始化classQPlainTextEdit(QAbstractScrollArea):"""QPlainTextEdit(parent:QWidget=None)QPlainTextEdit(str,parent:QWidget=None)"""def__init__(self,*__args):pas......
  • pyqt5-QTableWidget
    1、介绍这是pyqt的表格组件。2、类和初始化classQTableWidget(QTableView):def__init__(self,*__args):pass示例:self.table=QTableWidget(self.w)3、属性4、方法(1)columnCount和rowCount返回int类型,即列数和行数,最低为0,即空白,此时没有表头(2)setColum......
  • pyqt5-QTabWidget
    QTabWidget详解–fengMisaka–博客园(cnblogs.com)1、介绍标签页组件。2、类和初始化classQTabWidget(QWidget):def__init__(self,parent=None):pass3、属性4、常用方法(1)addTabdefaddTab(self,QWidget,*__args):"""addTa......
  • pyqt5-QAction
    1、介绍动作。这是QMenu添加的项,或者QMenuBar组件直接添加。2、类和初始化classQAction(__PyQt5_QtCore.QObject):"""QAction(parent:QObject=None)QAction(str,parent:QObject=None)QAction(QIcon,str,parent:QObject=None)"""......
  • pyqt5-QMenu
    1、介绍菜单组件。有两种场景:窗口的菜单栏设置一个或多个QMenu其他组件绑定右键菜单,探出一个QMenu2、类和初始化classQMenu(QWidget):"""QMenu(parent:QWidget=None)QMenu(str,parent:QWidget=None)"""def__init__(self,*__args):......
  • pyqt5-QMenuBar
    1、介绍菜单栏组件。这里指的是QMainWindow窗口顶部水平的菜单栏。2、类和初始化classQMenuBar(QWidget):"""QMenuBar(parent:QWidget=None)"""def__init__(self,parent=None):pass一般是通过QMainWindow窗口组件调用menuBar方法获取到QMenuBar对......
  • pyqt5-介绍
    1、介绍pyqt是python的一个主流的第三方模块,与Qt融合,用于GUI开发。支持多种常用组件,并且具有很好的默认显示效果QtDesigner支持图形化直接设计ui,大大减轻工作,得到更好的效果使用范围广,网络上有很多的中文文档和问答,方便开发支持pyqthon3语法,目前是pyqt5版本2、比较tkint......
  • pyqt5-QMainWindow
    1、介绍QMainWindow是一个窗口组件,也是最常用的主窗口。importsysfromPyQt5.QtWidgetsimportQMainWindow,QApplicationfromPyQt5.uicimportloadUiclassmy_window:def__init__(self):self.ui=loadUi('ui\\main_window.ui')self.ui:QMa......
  • pyqt5-开发
    1、介绍这里介绍pyqt的一般开发过程。2、主窗口一般,使用QMainWindow组件作为主窗口。然后分为三个部分:标题栏,即窗口名称、图标和关闭按钮等所在行菜单栏和工具栏主界面(1)标题栏可以是直接使用pyqt提供的默认样式,也可以取消默认样式,然后自定义(2)主界面一般不会直接在主界......