python - 如何对 QtTreeView 上的键盘选择使用react?

标签 python pyqt pyside signals-slots qtreeview

QTreeViewclicked 信号,但没有QTreeWidget 那样的itemChanged。我必须使用 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 - 如何对 QtTreeView 上的键盘选择使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13919652/

相关文章:

python - 用广播替换循环轴,第 2 部分

python - 当 GUI 退出时终止 QThread

python - 小部件从 QTreeview 中消失

python - 当我制作 QImage 时,如果图像是 8 位索引模式(调色板模式),我的图像将更改为灰度

exception - 简单的 IPython 示例在 sys.exit() 上引发异常

python - SQLAlchemy 左联接 WHERE 子句被转换为零和一

python - 在sklearn中使用One Hot Encoding对32位十六进制数字进行编码

python - 删除滚动条以显示完整表格

python - 如何找出 "WindowDeactivate"事件的焦点传递到哪个窗口?

python - Flask-SQLAlchemy - 类型错误 : __init__() takes only 1 position