끝까지 도달하고 다시 위로 버튼을 누르면 QSpinbox를 처음 값으로 설정하는 방법이 있습니까?끝까지 도달하면 QSpinbox를 통해 반복
나는 커스텀 QSpinBox에서 그것을 시도했다.하지만 마지막 값에 도달하면 y는 즉시 리셋되어 최종 값을 결코 보지 못하게된다.
from PyQt5.QtWidgets import QSpinBox
from music import TonoFactory
_tf = TonoFactory()
class StringBox(QSpinBox):
def __init__(self, parent=None):
super(StringBox, self).__init__(parent)
strings = []
for key in _tf.notas.keys():
strings.append(key)
self.setStrings(strings)
self.editingFinished.connect(self.reset_spin)
def strings(self):
return self._strings
def setStrings(self, strings):
strings = list(strings)
self._strings = tuple(strings)
self._values = dict(zip(strings, range(len(strings))))
self.setRange(0, len(strings) - 1)
def textFromValue(self, value):
return self._strings[value]
def valueFromText(self, text):
return self._values[text]
def reset_spin(self):
if self.value() == len(self.strings()) -1:
self.setValue(0)
시도한 것을 보여주십시오. 이제 코딩 서비스가 아닙니다. 다음을 읽어보십시오 : [ask] – eyllanesc
@eyllanesc 지금 추가하기 –
이 예제에서는 TonoFactory를 사용해야합니까? – eyllanesc