Ohjelmassa on QPushButton nimeltään button0. Painonapissa on teksti '0'. Painonappia painamalla siirrytään moduliin on_click jossa oleva tulostuskäsky toimii. Rivi
button0.setText("2")
on kommentoitu pois: jos se otetaan käyttöön, painonapin klikkaus kaataa ikkunan. Mikäs tässä mättää?
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'try'
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(100, 100, 500, 500)
button0 = QPushButton('0', self)
button0.setGeometry(50,100,40,40)
button0.clicked.connect(self.on_click)
self.show()
def on_click(self):
# button0.setText("2")
print('PyQt5 button click')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())Muuttujaa button0 ei ole kyseisessä funktiossa, kuten näet myös ohjelman kaatumisen yhteydessä tulevasta virheilmoituksesta (eli tulee ”NameError: name 'button0' is not defined”). Sinulla pitäisi koko ohjelmassa olla button0:n tilalla self.button0, jotta se liittyisi kyseiseen App-olioon.
Metabolix kirjoitti:
(27.01.2021 22:27:48): Muuttujaa button0 ei ole kyseisessä funktiossa...
Kiitos paljon!
Aihe on jo aika vanha, joten et voi enää vastata siihen.