QTreeViewclicked 信号,但不像 itemChangedQTreeWidget 信号。我必须使用 QTreeView 因为它是“基于模型的”。尽管如此,如果我的用户使用键盘选择一行,则不会发送 clicked,并且永远不会调用我的回调。我应该注册什么信号?

最佳答案

QTreeView 类继承 QAbstractItemView ,它提供对 selection model 的访问。

选择模型有 several signals ,用于注册对当前项目和鼠标和键盘的选择所做的更改。

编辑 :

为了清楚起见,信号需要像这样连接:

selmodel = self.listing.selectionModel()
selmodel.selectionChanged.connect(self.handleSelectionChanged)

处理程序的签名应如下所示:
def handleSelectionChanged(self, selected, deselected):
    indexes = selected.indexes()
    if indexes:
        print('row: %d' % indexes[0].row())
selecteddeselectedQItemSelection 的实例。

关于python - 如何对 QtreeView 上的键盘选择使用react?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13919652/

10-11 10:29