我只是尝试将按钮信号连接到button_clicked()
方法。单击按钮时,应清除QTextEdit对象的内容。
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
。我是面向对象编程的新手,我甚至不确定我的班级结构是否合适。
答案 0 :(得分:0)
对不起,不好意思。论证应该是self.button_clicked
才能发挥作用。解决了我的小问题,虽然我仍在努力理解这些self
语义。