値が変更される前に強制的に検証するために、pyqt5のQSpinBoxのstepByメソッドをオーバーライドしたいと考えています。 私のコードでは、スピンボックスの「増加」ボタンをクリックすると、すべてうまくいくが、「減少」ボタンが機能していないように見えます...なぜこれだけですか?ここでQSpinBox.stepbyメソッドをオーバーライドするspinboxのみインクリメント
はコードです:コンソールが、減少ボタンの「アップ」
class custom_spinbox(PyQt5.QtWidgets.QSpinBox):
def __init__(self, *args, **kwargs):
super(custom_spinbox, self).__init__(*args, **kwargs)
def stepBy(self, step):
if step == 1:
print("up")
if step == -1:
print("down")
class ui_attr(QWidget):
def __init__(self, *args, **kwargs):
super(ui_attr, self).__init__()
#loading all the stuff
uic.loadUi("wdg_attr_2.ui", self)
test = custom_spinbox()
self.grid.addWidget(test, 1, 1)
def aff(self):
self.show()
インクリメントボタンの印刷は何も表示されません。 QSpinBoxの代わりにQAbstractSpinBoxをサブクラス化しようとしましたが、コンソールには何も表示されませんでした。
私は何を欠席しましたか?
どのような確認が必要ですか?許容される範囲を制限するには 'minimum'と' maximum'プロパティを使うか、値の変化を検出するために 'valueChanged'シグナルを使うだけです。 –
それは解決策ですが、間違った順序でやっているような気分にさせます。変更を確認してください。可能であればverifiyしてください。 – Dodrekai