屏蔽listwidget鼠标选中和点击事件
时间: 2023-08-23 19:06:04 浏览: 77
你可以通过重写 `QListWidget` 的 `mousePressEvent` 和 `mouseReleaseEvent` 函数来实现屏蔽鼠标选中和点击事件。具体方法如下:
```python
class CustomListWidget(QtWidgets.QListWidget):
def __init__(self, parent=None):
super().__init__(parent)
def mousePressEvent(self, event):
pass # 屏蔽鼠标按下事件
def mouseReleaseEvent(self, event):
pass # 屏蔽鼠标释放事件
```
你可以使用 `CustomListWidget` 代替 `QListWidget`,这样就可以屏蔽鼠标选中和点击事件了。
相关问题
qt中的listwidget如何屏蔽鼠标跟踪和点击事件
如果你想屏蔽 `QListWidget` 的鼠标跟踪和点击事件,可以通过设置 `QListWidget` 的属性来实现。具体方法如下:
屏蔽鼠标跟踪:
```python
list_widget.setMouseTracking(False)
```
屏蔽点击事件:
```python
list_widget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
```
其中,`setMouseTracking` 函数用于设置鼠标跟踪,如果设置为 `False`,则表示关闭鼠标跟踪;`setEditTriggers` 函数用于设置编辑触发器,如果设置为 `QtWidgets.QAbstractItemView.NoEditTriggers`,则表示禁用编辑触发器,即禁用点击事件。
你可以将这两个函数结合起来,实现屏蔽鼠标跟踪和点击事件的效果:
```python
list_widget.setMouseTracking(False)
list_widget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
```
这样就可以屏蔽 `QListWidget` 的鼠标跟踪和点击事件了。
qt中的listwidget如何屏蔽鼠标跟踪和点击事件listwidget为qt自带控件
要屏蔽Qt中ListWidget的鼠标跟踪和点击事件,可以使用以下代码:
```c++
ui->listWidget->setMouseTracking(false); // 屏蔽鼠标跟踪
ui->listWidget->setFocusPolicy(Qt::NoFocus); // 屏蔽焦点
ui->listWidget->setSelectionMode(QAbstractItemView::NoSelection); // 屏蔽选中
ui->listWidget->setStyleSheet("QListWidget::item:hover { color: black; background-color: white;}"); // 鼠标悬停时无反应
```
这样就可以屏蔽ListWidget的鼠标跟踪和点击事件。需要注意的是,这样设置会使得ListWidget上的item无法被选中和点击,如果需要另行处理item的点击事件,可以通过自定义item的方式来实现。