QTreewidget pyqt
时间: 2024-01-23 13:13:30 浏览: 98
PyQt——QTreeWidget限制拖拽区域
QTreeWidget是PyQt5中的一个类,用于构建树形结构的控件。每个树节点使用QTreeWidgetItem来表示,是界面编程中的一个重要控件。以下是QTreeWidget的一些常用方法及说明:
1. addTopLevelItem():添加顶级节点
2. insertTopLevelItems():在树的顶层索引中插入节点
3. setColumnCount():设置树结构中的列数
4. setColumnWidth():设置列的宽度
5. QTreeWidgetItem类的常用方法包括setText()、text()、setIcon()、setHeaderLabels()等。
以下是一个创建TreeWidget控件的例子:
```python
from PyQt5.QtWidgets import QApplication, QTreeWidget, QTreeWidgetItem
app = QApplication([])
tree = QTreeWidget()
tree.setColumnCount(2)
tree.setHeaderLabels(['Name', 'Age'])
top_level_item = QTreeWidgetItem(tree)
top_level_item.setText(0, 'Tom')
top_level_item.setText(1, '25')
child_item = QTreeWidgetItem(top_level_item)
child_item.setText(0, 'John')
child_item.setText(1, '30')
tree.show()
app.exec_()
```
以上代码创建了一个包含两列的TreeWidget控件,其中第一列为“Name”,第二列为“Age”。件中包含一个顶级节点“Tom”,以及一个子节点“John”。
关于信号连接自定义槽函数,可以使用connect函数将QTreeWidget的clicked信号连接到自定义的槽函数上。例如:
```python
self.treeWidget.clicked.connect(self.gettext)
def gettext(self, currentItem):
from PyQt5.QtWidgets import QMessageBox
QMessageBox.information(MainWindow, "提示", "选中的是"+self.treeWidget.currentItem().text(0)+"该成员职能是"+self.treeWidget.currentItem().text(1), QMessageBox.Ok)
```
以上代码将QTreeWidget的clicked信号连接到自定义的gettext槽函数上,当鼠标双击TreeWidgetItem时,QTreeWidget会发出双击信号,自定义的Ui_MainWindow类接收后,调用自定义的槽函数。在该槽函数中,使用QMessageBox显示选中的节点的文本信息。
阅读全文