제가 정말로 도움이 필요한 것은 112 행의 함수입니다. GUI 계산기를 만들려고하는데 문제가있는 부분은 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