无法从类中获取变量的值

2024-06-02 07:28:18 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我为理解全局变量的工作原理而编写的一些代码。你知道吗

我无法获取print('fuera ' , aaa)aaa的任何值。我也不知道执行的顺序是怎么发生的。你知道吗

import tkinter as tk
global aaa

def primero():
    winda = tk.Toplevel()
    def on_button():
        global aaa
        aaa = entry.get()
        winda.destroy()

    entry = tk.Entry(winda)
    button = tk.Button(winda, text="Get", command=on_button)
    button.pack()
    entry.insert(0,'nada')
    entry.pack()
    entry.focus_set()

windo = tk.Tk()
primero()
print ('fuera ', aaa) 
windo.mainloop()

Tags: ondefbuttonglobalpacktk原理print
1条回答
网友
1楼 · 发布于 2024-06-02 07:28:18

I am not sure how the sequence of execution happens

基本上,您首先要用一个按钮启动一个窗口。很简单。同时,初始化窗口后的代码(即print语句)将继续运行,但是aaa只有在单击按钮时才会初始化。你知道吗

因此出现了错误。你知道吗

在这里,从更大的角度来看,GUI事件使全局变量的学习变得更加复杂

如果您想解决这个问题,只需初始化aaa

import tkinter as tk
aaa = None 

如果您想观察这个全局变量的变化,请在单击按钮的内部添加另一个print语句

相关问题 更多 >