如何在 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 中反转旋转框选择?的主要内容,如果未能解决你的问题,请参考以下文章
PyQt5 - 在表格小部件的列中创建一个检查项,即使行数与旋转框不同