带二进制数的 QSpinbox
QSpinbox with binary numbers
是否可以使用带有二进制输入的旋转框。让我们说“10010”。并上下滚动二进制 increment/decrement。
您必须将 displayIntegerBase
属性 设置为 2 才能使用二进制系统:
import sys
from PyQt5 import QtWidgets
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QSpinBox()
w.setValue(0b10010)
w.setDisplayIntegerBase(2)
w.show()
sys.exit(app.exec_())
更新:
如果要设置最小宽度(在本例中为 5),则必须覆盖 textFromValue()
方法:
import sys
from PyQt5 import QtWidgets
class SpinBox(QtWidgets.QSpinBox):
def textFromValue(self, value):
return "{:05b}".format(value)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
w = SpinBox()
w.setMaximum(0b11111)
w.setValue(0b00000)
w.setDisplayIntegerBase(2)
w.show()
sys.exit(app.exec_())
是否可以使用带有二进制输入的旋转框。让我们说“10010”。并上下滚动二进制 increment/decrement。
您必须将 displayIntegerBase
属性 设置为 2 才能使用二进制系统:
import sys
from PyQt5 import QtWidgets
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QSpinBox()
w.setValue(0b10010)
w.setDisplayIntegerBase(2)
w.show()
sys.exit(app.exec_())
更新:
如果要设置最小宽度(在本例中为 5),则必须覆盖 textFromValue()
方法:
import sys
from PyQt5 import QtWidgets
class SpinBox(QtWidgets.QSpinBox):
def textFromValue(self, value):
return "{:05b}".format(value)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
w = SpinBox()
w.setMaximum(0b11111)
w.setValue(0b00000)
w.setDisplayIntegerBase(2)
w.show()
sys.exit(app.exec_())