2014-04-29 6 views
1

qlabel의 값 (str)이 변경되었는지 확인해야합니다. 값이 변경되었는지 확인하기 위해 올바른 메도을 무엇PyQt qlabel의 값이 변경되었는지 확인하십시오.

self.connect(self.ui.labelEntry, QtCore.SIGNAL("valueChanged(str)"), self.autovalidate) 

: 다음 코드 (PyQt는에 spinbox 위젯에 의해 사용되는 거의 같은)를 사용하는 방법에 대한 생각?

모두 최고입니다.

답변

2

QLabels에는 valueChanged/textChanged 신호가 없습니다. 다른 위젯 유형 (예를 들어 QLineEdit)을 사용하거나 QLabel을 서브 클래스 화하고 textChanged 신호를 사용하여 자신 만의 변경 인식 클래스를 만들어야합니다.

QtDesigner를 사용하는 경우 첫 번째 해결 방법을 사용하고 디자이너에서 QLineEdit를 사용자 지정하는 것이 더 간단 할 수 있습니다. 속성 편집기에서 frame의 꼬리표를 확인하고 readOnly을 확인하고 background-color:"transparent"styleSheet에 쓰면 QLabel에서 QLineEdit을 볼 수 있습니다.

또한 new-style syntax을 사용해야합니다. 훨씬 우아합니다.

self.ui.labelEntry.textChanged.connect(self.autovalidate) 
관련 문제