gpt4 book ai didi

qt - QTableWidget 中的自定义选择必须重新实现哪个类?

转载 作者:行者123 更新时间:2023-12-04 13:05:01 27 4
gpt4 key购买 nike

QTableWidget由多个Selection Modi组成,可以通过方法进行选择

setSelectionMode (QAbstractItemView::SelectionMode mode)

给定的模式都不适合我想要的交互式选择类型。我想实现一种选择模式,当用户在一个表格单元格中单击,然后在另一个表格单元格中按住 shift 键并单击时,得到的选择不是这两者之间的列和行的总和,而是从第一个单击的单元格开始,沿着读取方向逐行移动,以第二次单击结束。我希望我清楚我想做什么。

我是否需要覆盖 QItemSelectionModel 或 QTableWidget?在哪里处理用户点击选择?

最佳答案

您需要创建 QItemSelectionModel 的后代并重新实现 select

virtual void select(const QModelIndex & index, QItemSelectionModel::SelectionFlags command)
virtual void select(const QItemSelection & selection, QItemSelectionModel::SelectionFlags command)

当重新实现 select 时,您可以使用不同的参数调用 QItemSelectionModel::select 以获得所需的结果。

然后使用setItemSelectionModel将选择模型的实例分配给QTableWidget

关于qt - QTableWidget 中的自定义选择必须重新实现哪个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22817934/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com