<p>在<code>Calculadora</code>类中有一些问题(类名通常大写)</p>
<ol>
<li><p>在<code>soma</code>函数中使用<code>entry1</code>和<code>entry2</code>,但它们不是在<code>__init__</code>方法之外定义的,因此需要将它们更改为<code>self.entry1/2</code>,以便能够从<code>soma</code>函数访问它们。</p></li>
<li><p>对<code>labelR</code>也是如此,但也因为<code>Label(frame,text='[Aqui]').pack(side=TOP)</code>返回<code>None</code>,<code>labelR</code>是<code>None</code>。您需要将标签创建与包装分开。</p></li>
<li><p>对于<code>soma</code>函数,<code>a</code>和<code>b</code>是应该删除的无用参数,我删除了中<code>a</code>和<code>b</code>前面的<code>self</code></p>
<pre><code>self.a = int(entry1.get())
self.b = int(entry2.get())
</code></pre>
<p>因为这里不需要。</p></li>
</ol>
<p>代码如下:</p>
<pre><code>class Calculadora:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.somar = Button(root,text = 'SOMAR',command = self.soma)
self.somar.pack(side=TOP)
self.entry1 = Entry(frame) # 1
self.entry1.pack(side=BOTTOM)
self.entry2 = Entry(frame) # 1
self.entry2.pack(side=BOTTOM)
self.labelR = Label(frame,text='[Aqui]') # 2
self.labelR.pack(side=TOP) # 2
def soma(self): # 3
a = int(self.entry1.get())
b = int(self.entry2.get())
self.labelR['text'] = a + b
</code></pre>