我目前正在使用计算器。除了最重要的事情,计算之外,我完成了大部分工作。我只是想知道是否有可能用这样的代码来解决我的问题,如果是的话,怎么样?我尝试了一切,但没有任何工作。我真的很感激答案。
这是我的一些代码:
我刚刚复制了button16,因为我的代码很长。
button16 = Gtk.Button(label="C")
button16.connect("clicked", self.button16_clicked)
vbox.pack_start(button16, True, True, 0)
vbox.pack_end(button16, True, True, 0)
self.add(button16)
self.first_num = 0
self.second_num = 0
self.result = 0
self.operation = ""
def button1_clicked(self, widget):
self.entry.set_text(self.entry.get_text() + str(1))
def button2_clicked(self, widget):
self.entry.set_text(self.entry.get_text() + str(2))
def button3_clicked(self, widget):
self.entry.set_text(self.entry.get_text() + str(3))
def button4_clicked(self, widget):
self.entry.set_text(self.entry.get_text() + str(4))
def button5_clicked(self, widget):
self.entry.set_text(self.entry.get_text() + str(5))
def button6_clicked(self, widget):
self.entry.set_text(self.entry.get_text() + str(6))
def button7_clicked(self,widget):
self.entry.set_text(self.entry.get_text() + str(7))
def button8_clicked(self,widget):
self.entry.set_text(self.entry.get_text() + str(8))
def button9_clicked(self,widget):
self.entry.set_text(self.entry.get_text() + str(9))
def button10_clicked(self,widget):
self.entry.set_text(self.entry.get_text() + str(0))
def button11_clicked(self,button11):
self.entry.set_text(self.entry.get_text() + str("+"))
def button12_clicked(self,widget):
self.entry.set_text(self.entry.get_text() + str("-"))
def button13_clicked(self,widget):
self.entry.set_text(self.entry.get_text() + str("*"))
def button14_clicked(self,widget):
self.entry.set_text(self.entry.get_text() + str("/"))
def button15_clicked(self, button15):
self.entry.set_text(self.entry.get_text() + str("="))
def button16_clicked(self,button16):
self.entry.set_text("")
答案 0 :(得分:0)
我不确定你的意思是"在Gtk"中进行计算。也许你应该简单地在事件处理中传递参数。
在此" button16.connect("点击",self.button16_clicked)"逗号后:("点击",button15_clicked,arg1,arg2)
然后def button15_clicked(self,button15,arg1,arg2):( ...)mynumber = arg1 + arg2。 如果保存在任何地方输入的数字((例如在button1中添加一行,如a = a + str(1),在按钮" +, - ,*,/"你留下a并取b代替然后将a和b传递给&# 34; =&#34)
如果没有,你必须在button15_clicked中取一个最后一个字符串并将它拆分为+ - * /()之间的ministrings,做数学得到结果并添加runsth,如self.show_result(result)from button15_clicked