如何在 QTableWidget 中通过 CTRL+click 禁用多项选择?
How do i disable multiple item selection via CTRL+click in QTableWidget?
我的 Qt 应用程序中有一个 class 继承自 QTableWidget 的实例。我希望它具有通过使用单击+拖动序列进行多项选择的功能(我有该功能并且工作正常),但我也想禁用 CTRL+单击序列。我该怎么做?
嗯,这取决于你到底想要什么。
最简单的方法是将 selectionMode
更改为 QAbstractItemView::ContiguousSelection
。这样你就会得到 click-drag 序列。
但是,Ctrl-click 仍将处于活动状态,但它的行为类似于 shift-click。
如果您真的想禁用 Ctrl-click,唯一的方法是覆盖 mousePress()
或 mouseRelease()
事件并将其过滤掉。
我的 Qt 应用程序中有一个 class 继承自 QTableWidget 的实例。我希望它具有通过使用单击+拖动序列进行多项选择的功能(我有该功能并且工作正常),但我也想禁用 CTRL+单击序列。我该怎么做?
嗯,这取决于你到底想要什么。
最简单的方法是将 selectionMode
更改为 QAbstractItemView::ContiguousSelection
。这样你就会得到 click-drag 序列。
但是,Ctrl-click 仍将处于活动状态,但它的行为类似于 shift-click。
如果您真的想禁用 Ctrl-click,唯一的方法是覆盖 mousePress()
或 mouseRelease()
事件并将其过滤掉。