class Adder:
result = 0
def __init__( self, number1, number2 ):
self.result = int( number1 ) + int( number2 )
def giveResult( self ):
return str(self.result)
class AdderGui:
def __init__( self ):
self.builder = gtk.Builder()
self.builder.add_from_file("Adder.glade")
def add(self, widget):
entry1 = self.builder.get_object ("entry1")
entry2 = self.builder.get_object ("entry2")
try:
thistime = adder( entry1.get_text(), entry2.get_text() )
except ValueError:
self.builder.get_object("hboxWarning").show()
self.builder.get_object("entryResult").set_text("ERROR")
return 0
def quit(self, widget):
sys.exit(0)
我在这里不明白thistime变量如何获得加法的价值。由于 init 总是返回no,因此不应该获得添加值。
答案 0 :(得分:3)
没有。 thistime
被分配了Adder
个对象。要获得结果,您需要调用其giveResult()
方法。例如:
result = thistime.giveResult()
顺便说一下,类名应该按照惯例大写。此外,在result = 0
类定义中,Adder
似乎没有多大意义。对象变量self.result
在__init__()
中分配。