您可以通过重新定义 QDoubleSpinBox 的 wheelEvent() 函数来禁用鼠标中键滚动更改值。以下是一个示例实现:
from PyQt5.QtWidgets import QDoubleSpinBox
class MyDoubleSpinBox(QDoubleSpinBox):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def wheelEvent(self, event):
if event.buttons() & Qt.MiddleButton:
event.ignore()
else:
super().wheelEvent(event)
在这个示例中,我们创建了一个名为 MyDoubleSpinBox 的子类,并重新定义了它的 wheelEvent() 函数。如果鼠标中键被按下,则忽略事件,并不会更改值;否则,调用父类的实现以处理该事件。