qcombobox 屏蔽鼠标滚轮
时间: 2023-07-27 08:06:10 浏览: 187
要屏蔽QComboBox的鼠标滚轮事件,可以使用事件过滤器。具体步骤如下:
1. 创建一个事件过滤器类,重写其eventFilter()方法,拦截QComboBox的鼠标滚轮事件并返回True,表示事件已经被处理,不需要继续传递。
```python
class EventFilter(QtCore.QObject):
def eventFilter(self, obj, event):
if event.type() == QtCore.QEvent.Wheel and obj == comboBox:
return True
return super().eventFilter(obj, event)
```
2. 为QComboBox安装事件过滤器。
```python
event_filter = EventFilter()
comboBox.installEventFilter(event_filter)
```
这样就可以屏蔽QComboBox的鼠标滚轮事件了。
相关问题
Qt qcombobox 屏蔽鼠标滚轮
要屏蔽QComboBox的鼠标滚轮事件,可以使用事件过滤器。具体步骤如下:
1. 创建一个事件过滤器类,重写其eventFilter()方法,拦截QComboBox的鼠标滚轮事件并返回True,表示事件已经被处理,不需要继续传递。
```python
class EventFilter(QtCore.QObject):
def eventFilter(self, obj, event):
if event.type() == QtCore.QEvent.Wheel and obj == comboBox:
return True
return super().eventFilter(obj, event)
```
2. 为QComboBox安装事件过滤器。
```python
event_filter = EventFilter()
comboBox.installEventFilter(event_filter)
```
这样就可以屏蔽QComboBox的鼠标滚轮事件了。
当鼠标在qcombobox上面进行滚轮滚动时会对combobox的值造成改变,要如何禁止
要禁止鼠标滚轮对 QComboBox 的值造成改变,你可以使用 QComboBox 的 setWheelEventPropagationEnabled(bool) 方法来实现。将参数设置为 false,即可禁止滚轮事件在 QComboBox 中传播,从而阻止其值的改变。以下是一个示例代码:
```cpp
QComboBox *comboBox = new QComboBox(parent);
comboBox->setWheelEventPropagationEnabled(false);
```
通过调用 setWheelEventPropagationEnabled(false),你可以阻止滚轮事件影响 QComboBox 的值。这样,当鼠标滚动时,QComboBox 的值将不会改变。
阅读全文