<p>因此,您将单选按钮的值存储在OptionsWin实例self.radVar的变量中。如果您在应用程序实例中有权访问该实例,则可以轻松地引用它。事实上这就是你想要的-</p>
<pre><code>class App():
def __init__(self):
self.root = tk.Tk()
#other methods
self.opt_win(self.root,'Circle')
</code></pre>
<p>我们看不到self.opt\u win的定义。我猜这应该是</p>
<pre><code>self.opt_win = OptionsWin(self.root,'Circle')
</code></pre>
<p>在这种情况下,您的show方法</p>
<pre><code>def show(self):
#get value of the RadioButton
return self.opt_win.radVar
</code></pre>
<p>如果我对opt\u win的猜测是错误的(可能是构造函数方法),那么答案的基础是<code>keep a reference to the OptionsWin instance so you can access the variables on it</code></p>
<p>编辑</p>
<p>为了能够从孩子身上引用父母,你可以-</p>
<pre><code>class OptionsWin():
def __init__(self, app, shape=None):
self.app = app
self.root = tk.Toplevel(app.root)
if shape == 'Circle':
self.create_circle_opt()
def show(self):
self.app.show()
</code></pre>
<p>然后你的应用程序构造器变成</p>
<pre><code>class App():
def __init__(self):
self.root = tk.Tk()
# pass self into the child, and then it can reference this object
self.opt_win = OptionsWin(self,'Circle')
</code></pre>