如何在 QTableView 中发出输入单元格和离开单元格的信号

Posted

技术标签:

【中文标题】如何在 QTableView 中发出输入单元格和离开单元格的信号【英文标题】:How to signal cell entered & cell left in QTableView 【发布时间】:2020-11-28 08:53:18 【问题描述】:

在从 QTableWidget 切换到 QTableView 以提高我的 GUI 速度时,我开始意识到 QTableView 没有等效的 cellEntered 信号。我怎样才能做到这一点?

在这个 GUI 中,我有一个带有 QTableView 的弹出窗口,它在单独的窗口中显示放置在图像上的标记的坐标。当光标移到 QTableView 坐标表中的相应行或单元格上时,我需要突出显示图像窗口中的标记。所以我需要能够发出信号,而不仅仅是高亮坐标表中的行。

【问题讨论】:

【参考方案1】:

cellEntered 信号等效的是entered 信号:

from PyQt5 import QtGui, QtWidgets


def main():
    app = QtWidgets.QApplication([])

    model = QtGui.QStandardItemModel(5, 5)

    view = QtWidgets.QTableView()
    view.setModel(model)
    view.setMouseTracking(True)

    def on_entered(index):
        print(index.row(), index.column())

    view.entered.connect(on_entered)

    view.show()

    app.exec_()


if __name__ == "__main__":
    main()

【讨论】:

感谢您的快速回答和示例代码。它完美地工作。你这个男人,eyllanesc! 有没有办法判断一个单元格何时“离开”了?

以上是关于如何在 QTableView 中发出输入单元格和离开单元格的信号的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 QTableView 中的双击

如何知道用户是不是在 QTableView 中输入了数据

Qt:在编辑 QTableView 项目数据时而不是在编辑完成后发出信号?

如何获取特定匹配值的起始单元格和结束单元格地址?

如何在 iOS 中同时为单元格和表格更改设置动画?

如何在xamarin中删除集合视图中的一个单元格和sqlite中的行的删除按钮?