我试图制作一个在GUI窗口内无休止地打印数字的小程序,我找不到在GUI窗口内的文本框中打印函数的输出而不是python shell的方法,请帮忙,这是我到目前为止的代码......
import sys
from tkinter import *
root = Tk()
def number(event):
x = 420
while True:
x +=420
print(x^70)
button_1 = Button(root, text="Start...")
button_1.bind("<Button-1>", number)
button_1.pack()
root.mainloop()
谢谢哈维
答案 0 :(得分:0)
您会发现很难不断地将值插入到窗口小部件中。每个插入都不会更新窗口小部件。你可以认为它有一个临时变量。它可以在循环期间访问(如打印所示)。但是,您会注意到小部件本身在循环结束之前不会更新。因此,如果您有while True
,那么您的小部件将永远不会更新,因此您不会将这些数字流式传输到小部件中。
import sys
from tkinter import *
root = Tk()
def number():
x = 420
while x < 8400: # Limit for example
x +=420
textbox.insert(END, str(x^70)+'\n')
print(textbox.get(1.0, END)) # Print current contents
button_1 = Button(root, text="Start...", command=number) #Changed bind to command, bind is not really needed with a button
button_1.pack()
textbox = Text(root)
textbox.pack()
root.mainloop()