如何在PyQt4 QTreeWidg中对单击作出反应

2024-10-01 17:33:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我不熟悉Pyhthon和Qt,因此有一个基本问题。我想要的是,当我在QTreeWidget中单击一个项目时,会调用一个事件处理程序,它告诉我单击了哪个项目。我尝试的代码是:

    self.dir_tree = QTreeWidget ()
    self.dir_tree.setColumnCount (3)
    self.dir_tree.setHeaderLabels (("File", "Type", "Size"))
    self.dir_tree.connect (dir_tree, SIGNAL ("itemClicked (QTreeWidgetItem*, int)"), self.onClickItem)

def onClickItem (self, column):
    print (column) 

这不会运行,错误代码是:

^{pr2}$

我做错什么了?还有一个与此相关的问题:我如何知道哪个项目被点击了?在

我找不到这方面的教程,任何建议都欢迎。在

谢谢你的帮助。在


Tags: 项目代码selftree处理程序dir事件column
1条回答
网友
1楼 · 发布于 2024-10-01 17:33:52

问题问得太早,我经过多次试验才找到答案。守则没有提到是错误的自我.dirtree并从self.dir_树而不是自我。所以正确的代码应该是:

    self.connect (self.dir_tree, SIGNAL ("itemClicked(QTreeWidgetItem*, int)"), self.onClickItem)

一些实验导致了以下回调:

^{pr2}$

Item引用单击的QTreeWidgetItem本身(在我的例子中,它是一个带有额外信息的派生类:仍然可以正常工作)和column指向单击的列。在

最后一个问题仍然存在。我对信号/时隙的把握还不好。任何指南都是一个好的指南。在

相关问题 更多 >

    热门问题