Python3でプログラムを作っています
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
初歩的な質問ですみません、 クラス内で複数の関数を定義して、ある関数の中でクラスのインスタント化を行ったのですが、クラス内の別の関数からそのインスタンスが参照出来ないという問題です。 下記ソースコードで、関数initGUIの中でQPushButtonをインスタント(button1)していて、同じクラス(StartMenu)の中の別の関数Next_Stepの中で、self.button1.hide()と参照しても、下記エラーメッセージが出ます。
AttributeError: StartMenu
object has no attribute button1
どうしたらbutton1=PushButton('ボタン', self)でボタン表示させたのち、そのボタンが押されたら、エラー無しで、self.button1.hide()を実行する事が出来るか、教えて下さい。
エラーメッセージ
### 該当のソースコード ```ここに言語名を入力 import sys from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QPushButton, QAction, QApplication, QMessageBox, QLabel class StartMenu(QWidget): def __init__(self): super().__init__() self.title = "Hello" self.left = 0 self.top = 0 self.width = 650 self.height = 350 self.initGUI() def initGUI(self): self.setWindowTitle(self.title) button1 = =PushButton('ボタン', self) button1.move(250, 180) button1.clicked.connect(self.Next_Step) self.resize(self.width, self.height) self.move(300, 180) self.show() def Next_Step(self): self.button1.hide() print('dummy') if __name__ == '__main__': app = QApplication(sys.argv) ex1 = StartMenu() sys.exit(app.exec_()) ### ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
コードブロックの使い方を理解してください…。また、button1 = =PushButton('ボタン', self) のように明らかなコピペミスもあります。回答者の助言をまずは素直に実践してはいかがでしょうか。
回答1件
あなたの回答
tips
プレビュー