PyQt QComboBox和QSpinBox禁止鼠标滚动
自定义控件代码
新建 custom_widget.py文件,内容如下:
from PyQt5.QtCore import QEvent
from PyQt5.QtWidgets import QComboBox, QSpinBox
class CustomQCB(QComboBox):
def wheelEvent(self, e):
if e.type() == QEvent.Wheel:
e.ignore()
class CustomQSB(QSpinBox):
def wheelEvent(self, e):
if e.type() == QEvent.Wheel:
e.ignore()
这里对原有类中的方法进行了重写。
Qt Designer操作方法
接下来在Qt Designer中对控制进行操作:
-
选择要禁用鼠标滚动的控件,右键选择 Promote to …;

-
在弹出的 Promoted Widgets 窗口中,添加刚才新建的类和文件名,保存Ui文件;

-
将其它需要禁用的控件进行提升

完成后保存文件,重新将Ui文件转换为Py文件即可。
本文介绍如何通过自定义控件禁止PyQt中QComboBox和QSpinBox的鼠标滚轮事件,涉及代码实现及QtDesigner操作步骤,适用于希望精细化控制用户交互的开发者。

1万+

被折叠的 条评论
为什么被折叠?



