Мой код имеет 2 проблемы.
- Я хочу, чтобы QPushButton был выше, чем QTextBrowser.
- Когда я нажимаю QPushButton, я хочу изменить текст QTextBrowser.
- Но у меня ошибка. -› Сообщение об ошибке: объект «MyApp» не имеет атрибута «text_area»
Это мой код. Я думаю, что у меня нет процесса программирования на Python.
# test.py
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QTextBrowser
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
btn2 = QPushButton(self)
btn2.setText('Button&2')
btn2.setGeometry(20,20,100,100)
btn2.clicked.connect(self.callme)
# Add QTextBrowser
text_area = QTextBrowser(self)
text_area.setGeometry(120, 160, 270, 120)
text_area.setText('Before Edit')
vbox = QVBoxLayout()
vbox.addWidget(btn2)
self.setLayout(vbox)
self.setWindowTitle('QPushButton')
self.setGeometry(200, 200, 500, 600)
self.show()
def callme(self):
self.text_area.setText('After Edit')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())