<p>整个项目太多了,无法仔细查看,但我看到了一些事情</p>
<p>打印不会转到tkinter标签,而是转到控制台。通过将StringVar链接到标签的textvariable参数,可以使用新文本更新tkinter标签。StringVar的值可以使用其set()方法更改</p>
<pre><code>text = StringVar()
label = Label(parent, textvariable=text)
label.pack()
text.set('Hello world!')
</code></pre>
<p>您有一个<code>while True</code>循环,末尾有一个update(),还有一个mainloop()。你应该选择一个或另一个,因为它们完成了几乎相同的事情。此外,程序首先遇到的任何一个(在您的例子中是while循环)都会阻止程序继续到下一个,因此永远不会到达mainloop()</p>
<p>至于您不知道何时何地创建按钮的问题,您应该看看这个示例代码,作为如何设置tkinter GUI的框架</p>
<pre><code>from tkinter import Tk, Label, Button
class MyFirstGUI:
def __init__(self, master):
self.master = master
master.title("A simple GUI")
self.label = Label(master, text="This is our first GUI!")
self.label.pack()
self.greet_button = Button(master, text="Greet", command=self.greet)
self.greet_button.pack()
self.close_button = Button(master, text="Close", command=master.quit)
self.close_button.pack()
def greet(self):
print("Greetings!")
root = Tk()
my_gui = MyFirstGUI(root)
root.mainloop()
</code></pre>
<p>如您所见,它在类中构建GUI。其中一个非常有用的方面是创建GUI窗口时调用的<strong>\uuu init\uu</strong>()函数。在本例中,在启动功能中创建了一个按钮。然后,按钮触发的功能定义如下</p>
<p>这里有一个指向教程的链接,上面的示例代码来自:<a href="https://python-textbok.readthedocs.io/en/1.0/Introduction_to_GUI_Programming.html" rel="nofollow noreferrer">https://python-textbok.readthedocs.io/en/1.0/Introduction_to_GUI_Programming.html</a>
祝你好运</p>