私は本当に助けが必要なのは、行112の関数です。私は問題を抱えている唯一の部分であるGUI電卓を作成しようとしています。人は5 + 5のような問題を入力すると、それを変数に格納することはできません。だから私はどのように問題を解決し、テキストボックスに出力します。 は、私はあなたの問題はここにあると思いどうすればtextxrlの入力テキストをwxpythonで出力することができます
import math
import wx
class justin(wx.Frame):
loop=False
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'MAP2', size=(250, 300))
panel=wx.Panel(self)
status=self.CreateStatusBar()
file_menu = wx.MenuBar()
menu1=wx.Menu()
menu2=wx.Menu()
exit1=menu1.Append(wx.NewId(),"exit","exit")
info1=menu1.Append(wx.NewId(),"info","info")
instr=menu2.Append(wx.NewId(),"instructions","instructions")
file_menu.Append(menu1,"file")
file_menu.Append(menu2,"instructions")
self.SetMenuBar(file_menu)
self.panel = panel
self.Bind(wx.EVT_MENU, self.onexit, exit1)
self.Bind(wx.EVT_MENU, self.oninfo, info1)
self.Bind(wx.EVT_MENU, self.oninstr, instr)
self.box=wx.TextCtrl(panel,-1,"",(0,0),(180,45))
self.button1=wx.Button(panel,label='1', size=(45,45))
self.button2=wx.Button(panel,label='2', size=(45,45))
self.button3=wx.Button(panel,label='3', size=(45,45))
self.button4=wx.Button(panel,label='4', size=(45,45))
self.button5=wx.Button(panel,label='5', size=(45,45))
self.button6=wx.Button(panel,label='6', size=(45,45))
self.button7=wx.Button(panel,label='7', size=(45,45))
self.button8=wx.Button(panel,label='8', size=(45,45))
self.button9=wx.Button(panel,label='9', size=(45,45))
self.buttonplus=wx.Button(panel,label='+', size=(45,45))
self.buttonsub=wx.Button(panel,label='-', size=(45,45))
self.buttonmul=wx.Button(panel,label='*', size=(45,45))
self.buttondiv=wx.Button(panel,label='/', size=(45,45))
self.button0=wx.Button(panel,label='0', size=(45,45))
self.enter=wx.Button(panel,label='enter',size=(45,45))
siz=wx.GridBagSizer(5,5)
siz.Add(self.button1,pos=(2,0))
siz.Add(self.button2,pos=(2,1))
siz.Add(self.button3,pos=(2,2))
siz.Add(self.button4,pos=(3,0))
siz.Add(self.button5,pos=(3,1))
siz.Add(self.button6,pos=(3,2))
siz.Add(self.button7,pos=(4,0))
siz.Add(self.button8,pos=(4,1))
siz.Add(self.button9,pos=(4,2))
siz.Add(self.buttonplus,pos=(2,3))
siz.Add(self.buttonsub,pos=(3,3))
siz.Add(self.buttonmul,pos=(4,3))
siz.Add(self.buttondiv,pos=(5,3))
siz.Add(self.button0,pos=(5,2))
siz.Add(self.enter,pos=(5,0))
panel.SetSizer(siz)
self.Bind(wx.EVT_BUTTON,self.ebutton1,self.button1)
self.Bind(wx.EVT_BUTTON,self.ebutton2,self.button2)
self.Bind(wx.EVT_BUTTON,self.ebutton3,self.button3)
self.Bind(wx.EVT_BUTTON,self.ebutton4,self.button4)
self.Bind(wx.EVT_BUTTON,self.ebutton5,self.button5)
self.Bind(wx.EVT_BUTTON,self.ebutton6,self.button6)
self.Bind(wx.EVT_BUTTON,self.ebutton7,self.button7)
self.Bind(wx.EVT_BUTTON,self.ebutton8,self.button8)
self.Bind(wx.EVT_BUTTON,self.ebutton9,self.button9)
self.Bind(wx.EVT_BUTTON,self.ebutton0,self.button0)
self.Bind(wx.EVT_BUTTON,self.ebuttonplus,self.buttonplus)
self.Bind(wx.EVT_BUTTON,self.ebuttonsub,self.buttonsub)
self.Bind(wx.EVT_BUTTON,self.ebuttonmul,self.buttonmul)
self.Bind(wx.EVT_BUTTON,self.ebuttondiv,self.buttondiv)
self.Bind(wx.EVT_BUTTON,self.eenter,self.enter)
def ebutton1(self,e):
self.box.AppendText('1')
def ebutton2(self,e):
self.box.AppendText('2')
def ebutton3(self,e):
self.box.AppendText('3')
def ebutton4(self,e):
self.box.AppendText('4')
def ebutton5(self,e):
self.box.AppendText('5')
def ebutton6(self,e):
self.box.AppendText('6')
def ebutton7(self,e):
self.box.AppendText('7')
def ebutton8(self,e):
self.box.AppendText('8')
def ebutton9(self,e):
self.box.AppendText('9')
def ebutton0(self,e):
self.box.AppendText('0')
def ebuttonplus(self,e):
self.box.AppendText('+')
def ebuttonsub(self,e):
self.box.AppendText('-')
def ebuttonmul(self,e):
self.box.AppendText('*')
def ebuttondiv(self,e):
self.box.AppendText('/')
def eenter(self,e):
a=self.box.GetValue()
answer=int(a)
ans=str(answer)
self.box.SetValue(ans)
def onexit(self,e):
self.Close()
def oninfo(self,e):
dlg = wx.MessageDialog(None,"This is a program that computes percent error value. MAP2 is created by Justin Rolf","info",wx.OK)
dlg.ShowModal()
dlg.Destroy()
def oninstr(self,e):
dlg1 = wx.MessageDialog(None,"To use this program enter your first number in the top gray box (make sure to have all text deleted before you type), then enter your second number in the bottom box, and hit the enter button","instructions",wx.OK)
dlg1.ShowModal()
dlg1.Destroy()
if __name__=='__main__':
app=wx.PySimpleApp()
frame=justin(parent=None, id=-1)
frame.Show()
app.MainLoop()
質問を投稿しているときにコードをトリミングしてみてください。私はそれの大部分が無関係に見えるので、すべてを読むことを試みるよりも良いことがあります。関連するものと関連していないものを作ることは、バグを見つけるための良い練習でもあります。 –
申し訳ありませんが、心に留めてください – user1108980