如何在 PyQt5 中反转旋转框选择?

Posted

技术标签:

【中文标题】如何在 PyQt5 中反转旋转框选择?【英文标题】:How to reverse spinbox selection in PyQt5? 【发布时间】:2020-07-09 18:20:18 【问题描述】:

我在 PyQt5 中有一个旋转框,如下所示。如何使选择反转?即,如果我单击向下箭头,则值会上升,反之亦然。

【问题讨论】:

【参考方案1】:

一种可能的解决方案是覆盖stepBy()stepEnabled() 方法:

import sys
from PyQt5 import QtWidgets


class ReverseSpinBox(QtWidgets.QSpinBox):
    def stepEnabled(self):
        if self.wrapping() or self.isReadOnly():
            return super().stepEnabled()
        ret = QtWidgets.QAbstractSpinBox.StepNone
        if self.value() > self.minimum():
            ret |= QtWidgets.QAbstractSpinBox.StepUpEnabled
        if self.value() < self.maximum():
            ret |= QtWidgets.QAbstractSpinBox.StepDownEnabled
        return ret

    def stepBy(self, steps):
        return super().stepBy(-steps)


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    w = ReverseSpinBox()
    w.resize(320, 20)
    w.show()
    sys.exit(app.exec_())

【讨论】:

以上是关于如何在 PyQt5 中反转旋转框选择?的主要内容,如果未能解决你的问题,请参考以下文章

CAD中如何旋转图形?

PyQt5 - 在表格小部件的列中创建一个检查项,即使行数与旋转框不同

如何在不使用paintEvent的情况下旋转PyQt5 QPushButton?

在 3D 中反转旋转,使对象始终面向相机?

如何在 PyQt5 中正确异步加载图像?

旋转后调整大小时如何计算平移x和y值..?