【问题标题】:How to control QListWidget selection如何控制 QListWidget 选择
【发布时间】:2014-09-22 14:23:35
【问题描述】:

我用 QListWidget 实现了一个弹出列表。但是我发现当鼠标按下一个项目时,列表的选择就完成了。但我想要的是点击选择。我怎样才能改变它? (无委托)

更新:

我有一个 QListWidget 的子类。当我按住一个项目的左键时,这个列表的选择就完成了(发出信号、更改 selectedItems()、更改 Qss QListWidget::item:selected{} 等)。我想要的是在项目上释放鼠标时进行这些更改,而不是按住它。

【问题讨论】:

  • 子类化 QListWidget
  • @niyou 是的,我就是这么做的。但是如何控制选择行为。

标签: qt qlistwidget


【解决方案1】:

QListWidget 有函数setSelectionModesetSelectionBehaviour。如果这不是您想要的,请更清楚地说明您想要实现的目标。

针对问题的更新,您需要处理小部件的鼠标事件以防止鼠标按下事件发生时选择(不要调用基类函数),然后自己处理设置选择,以响应鼠标释放事件。

由于 QListWidget 是一个带有内部模型的便利类,你最好使用QListView,它允许你操作它的selection model

如果您决定这样做,请确保有充分的理由,因为用户希望列表小部件以特定方式工作,而更改这一点可能只会惹恼用户。

【讨论】:

  • 是的,当我停止在事件处理程序中使用默认函数时,会出现很多奇怪的行为。我将传递给 QListView。泰。
猜你喜欢
  • 1970-01-01
  • 2016-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-09
  • 1970-01-01
相关资源
最近更新 更多