禁用QSpinBox中的轮子

2024-04-20 00:49:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在PySide项目中有许多spinbox,我想更改行为,这样so用户需要单击字段来更改值,然后按enter键。我想禁用数字调整框的滚轮行为。我试过设置焦点策略,但没有生效。在

    def light_label_event(self,text,checked):
        print("this is the pressed button's label", text)

    def populate_lights(self):
        for light in self.lights:
            light_label = QtWidgets.QSpinBox()
            light_label.setFocusPolicy(QtCore.Qt.StrongFocus)

Tags: 项目text用户selfsodef数字label
1条回答
网友
1楼 · 发布于 2024-04-20 00:49:59

必须创建自定义微调框并覆盖wheelEvent方法:

from PySide2 import QtWidgets


class SpinBox(QtWidgets.QSpinBox):
    def wheelEvent(self, event):
        event.ignore()

if __name__ == '__main__':
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = SpinBox()
    w.show()
    sys.exit(app.exec_())

相关问题 更多 >