前提・実現したいこと
wxPythonでテキストコントロール(text1)の値をボタン(button1)が押されたときにターミナルに表示しようとしています。
ボタンを押すと以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
例外が発生しました: NameError name 'text1' is not defined File "app2.py", line 22, in OnCloseButton print (text1.GetValue()) File "app2.py", line 30, in <module> app.MainLoop()
該当のソースコード
python
1import wx 2 3class MyFrame(wx.Frame): 4 def __init__(self): 5 wx.Frame.__init__(self, None, -1, 'Title', size=(300,150)) 6 7 # Create widgets. 8 panel = wx.Panel(self) 9 label1 = wx.StaticText(panel, -1, '入力欄:', pos=(0, 50)) 10 text1 = wx.TextCtrl(panel) 11 button1 = wx.Button(panel, -1, "実行") 12 button1.Bind(wx.EVT_BUTTON, self.OnCloseButton) 13 14 # Set sizer. 15 sizer = wx.GridSizer(cols=2, vgap=1, hgap=5) 16 sizer.Add(label1) 17 sizer.Add(text1) 18 sizer.Add(button1) 19 panel.SetSizer(sizer) 20 21 def OnCloseButton(self, event): 22 print (text1.GetValue()) 23 # print (self.panel.text1 24 self.Close() 25 26 27if __name__ == '__main__': 28 app = wx.PySimpleApp() 29 MyFrame().Show(True) 30 app.MainLoop()
補足情報(FW/ツールのバージョンなど)
Windows10 Python 3.7.4 wxPython 4.1.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/13 15:51