pyqt 使用qtreewidgetitem并且添加图标的例子
时间: 2023-06-01 15:05:00 浏览: 179
很高兴为您提供帮助!以下是使用 PyQt 中的 QTreeWidgetItem 并添加图标的示例:
```python
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QMainWindow, QTreeWidget, QTreeWidgetItem
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.treeWidget = QTreeWidget()
self.setCentralWidget(self.treeWidget)
self.initUI()
def initUI(self):
self.treeWidget.setHeaderLabels(['Items'])
items = ['Item 1', 'Item 2', 'Item 3']
for item in items:
parent = QTreeWidgetItem(self.treeWidget)
parent.setText(0, item)
parent.setFlags(parent.flags() | Qt.ItemIsTristate | Qt.ItemIsUserCheckable)
parent.setCheckState(0, Qt.Unchecked)
icon = QIcon('icon.png')
parent.setIcon(0, icon)
child1 = QTreeWidgetItem(parent)
child1.setText(0, 'Child 1')
child1.setFlags(child1.flags() | Qt.ItemIsUserCheckable)
child1.setCheckState(0, Qt.Unchecked)
child2 = QTreeWidgetItem(parent)
child2.setText(0, 'Child 2')
child2.setFlags(child2.flags() | Qt.ItemIsUserCheckable)
child2.setCheckState(0, Qt.Unchecked)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,我们创建了一个 QTreeWidget,并向树中添加了一些项目。对于每个父项目,我们设置了一个图标,并添加了两个子项目。 请注意,我们可以使用 setFlags() 方法设置项目的标志,以控制它们的行为。在本例中,我们将父项目的标志设置为可选择(ItemIsTristate)和可选(ItemIsUserCheckable),以便用户可以选择它们,并且我们将子项目的标志设置为可选(ItemIsUserCheckable),以便用户可以选择它们。
希望这可以帮助您开始使用 PyQt 中的 QTreeWidgetItem。如果您有任何其他问题,请随时问我!