QTreeWidget的itemClicked信号可以与自定义槽函数连接,以便在单击项目时执行特定操作。
以下是使用自定义槽函数处理QTreeWidget的itemClicked信号的示例代码:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTreeWidget, QTreeWidgetItem
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.tree_widget = QTreeWidget(self)
self.tree_widget.setHeaderLabels(['Name', 'Age'])
self.tree_widget.itemClicked.connect(self.handle_item_clicked)
root_item = QTreeWidgetItem(self.tree_widget, ['John', '30'])
child_item = QTreeWidgetItem(root_item, ['Jane', '25'])
self.setCentralWidget(self.tree_widget)
def handle_item_clicked(self, item, column):
print('Item clicked:', item.text(0), item.text(1))
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
在这个例子中,我们创建了一个QTreeWidget,并在单击项目时打印出其名称和年龄。当单击项目时,它会触发handle_item_clicked
函数,该函数将项目的文本内容作为参数打印出来。
注意,我们在创建QTreeWidgetItem时传递了父项(root_item)并将其添加到QTreeWidget中。这样可以创建树形结构。
最后,我们将QTreeWidget设置为QMainWindow的中央部件,并显示窗口。