0
버튼 신호를 button_clicked()
메소드에 연결하기 만하면됩니다. QTextEdit 객체의 내용은 버튼을 클릭 할 때 지워야합니다.왜 PyQt4의 기능 슬롯이 connect()`not defined`입니까?
class App:
def window(self):
app = QApplication(sys.argv)
main_win = QWidget()
main_win.show()
self.disp_txt = QTextEdit(main_win)
self.disp_txt.setText('hello world')
self.disp_txt.show()
button = QPushButton(main_win)
button.show()
QObject.connect(button,SIGNAL("clicked()"),button_clicked) <---exact spelling
sys.exit(app.exec_())
def button_clicked(self): <---exact spelling
self.disp_txt.clear()
if __name__ == '__main__':
a = App()
a.window()
나는 QObject.connect
의 인수에서 오류가 발생합니다 : NameError: name button_clicked is not defined
. 나는 객체 지향 프로그래밍에 익숙하지 않고 클래스의 구조가 적절한 지 확신 할 수 없다.
[새 스타일 신호 슬롯 구문] (http://pyqt.sourceforge.net/Docs/PyQt4/new_style_signals_slots.html)을 사용하는 것이 좋습니다. 이렇게하면'button.clicked.connect (self.button_clicked)'를 할 수있게되어 훨씬 더 명확하고 이해하기 쉽습니다. – ekhumoro