2013-06-19 2 views
0

PyQt4에서 슬롯 QtGui.QLabel.setNum이 오버로드됩니다.PyQt4에서 QtGui.QLabel.setNum의 오버로드

우리는 setNum(int)setNum(float)을 가지며, 이들의 C++ 대응 물인 setNum(int)setNum(double)을 연결합니다.

"float"버전에 신호를 연결하고 싶습니다.

label = QLabel() 
slider = QwtSlider() 
slider.valueChanged[float].connect(label.setNum) 

불행하게도, 호출 할 것으로 보인다 슬롯은 int 버전입니다.

내 유일한 해결 방법은 지금까지

slider.valueChanged.connect(lambda x: label.setText(str(x))) 

는 setNum의 플로트 오버로드의 호출을 강제하는 간단한 방법이있다?

답변

1

connect의 또 다른 형태를 사용해보십시오 :

QtCore.QObject.connect(slider, QtCore.SIGNAL('setNum(double)'), <...>) 
+0

불행하게도, 당신의 접근 방식을 사용하여 같은 결과를 줄 것으로 보인다. 더 정확하게, 나는 썼다 : QtCore.QObject.connect (self.ui.Slider, QtCore.SIGNAL ('valueChanged (double)'), self.ui.label_2, QtCore.SLOT ('setNum (double)')) 나는 여전히 정수를 얻고있다. – Quant

관련 문제