如何控制QListWidget选择

时间:2014-09-22 14:23:36

标签: qt qlistwidget

我用QListWidget实现一个弹出列表。但我发现当鼠标按下某个项目时,列表的选择就完成了。但我想要的是点击选择。我该怎么改变它? (没有代表)

更新

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

1 个答案:

答案 0 :(得分:0)

QListWidget具有setSelectionModesetSelectionBehaviour功能。如果这不是你想要的,请更清楚地解释你想要达到的目标。

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

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

如果您决定这样做,请确保它有充分的理由,因为用户希望列表小部件以特定方式工作,并且更改此操作可能只会让用户烦恼。