저는 Python과 Qt를 처음 사용합니다. 현재, 더 큰 응용 프로그램을위한 UI를 구현하려고하지만 신호와 슬롯에 관한 문제가 있습니다.pyQt5 : 연결할 수 없습니다 QSpinBox :: valueChanged (int)
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QObject, pyqtSlot
import sys
class Ui_configDialog(QtWidgets.QDialog):
def __init__(self):
super(Ui_configDialog, self).__init__()
self.setupUi()
def setupUi(self):
self.setObjectName("configDialog")
self.setWindowModality(QtCore.Qt.WindowModal)
self.resize(425, 380)
row1 = DataRow(self)
self.show()
class DataRow:
def __init__(self, dialog):
rect = QtCore.QRect(10, 40, 91, 30)
self.text_fRep = QtWidgets.QSpinBox(dialog)
self.text_fRep.setGeometry(rect.translated(100, 0))
self.connect_signal()
@pyqtSlot(int)
def fRep_changed(self, value):
print(value)
def connect_signal(self):
self.text_fRep.valueChanged.connect(self.fRep_changed)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
dialog = Ui_configDialog()
sys.exit(app.exec_())
무엇을 달성하려고하는 것은 QSpinBox 개체의 값이 변경 될 때마다 슬롯 fRep_changed를 호출 할 때입니다 :
여기 내 코드입니다. 내가 슬롯에 신호를 연결할 수 없습니다해야하는 이유
QObject::connect: Cannot connect QSpinBox::valueChanged(int) to (null)::fRep_changed(int)
TypeError: connect() failed between valueChanged(int) and fRep_changed()
내가 볼 수없는 :하지만이 코드를 내가 컴파일 오류가 발생합니다.
또한 @pyqtSlot (int)도 제거했습니다. 응용 프로그램이 시작되지만 값이 변경되면 아무 일도 발생하지 않습니다.
미리 도움을 주셔서 감사합니다.