前提・実現したいこと
改良前のコードを実行した際にボタンを押すと下記のエラーが発生しました。
自分なりに試行錯誤して改良後のコードを書いて実行したところエラーも発生せず、望んだ結果が得られました。
ですが、このような書き方が正しいのかどうか判断がつきません。
もっときれいな書き方がありましたら教えていただけると幸いです。
発生している問題・エラーメッセージ
エラーメッセージ NameError: name 'label' is not defined ### 該当のソースコード ########## # 改良前 # ########## import sys from PySide2.QtWidgets import QMainWindow, QPushButton, QApplication, QLabel class Test(QMainWindow): def __init__(self): super().__init__() self.GUI() def GUI(self): # Item button = QPushButton("Push", self) button.move(20, 20) label = QLabel("Text", self) label.move(180, 20) # connect button.pressed.connect(self.press) button.released.connect(self.release) # Setting self.setGeometry(250, 250, 270, 80) self.show() def press(self): label.setText('press') def release(self): label.setText('release') if __name__ == '__main__': app = QApplication(sys.argv) T = Test() sys.exit(app.exec_()) #-------------------------------------------------------------------------- ########## # 改良後 # ########## import sys from PySide2.QtWidgets import QMainWindow, QPushButton, QApplication, QLabel class Test(QMainWindow): def __init__(self): super().__init__() self.GUI() def GUI(self): # Item button = QPushButton("Push", self) button.move(20, 20) label = QLabel("Text", self) label.move(180, 20) # Setting self.setGeometry(250, 250, 270, 80) self.show() def press(): label.setText('press') def release(): label.setText('release') # connect button.pressed.connect(press) button.released.connect(release) if __name__ == '__main__': app = QApplication(sys.argv) T = Test() sys.exit(app.exec_()) ```Python ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/14 12:37