我正在构建一个涉及4个python文件的小项目,这些文件具有各自的功能。但是,有一个main.py
文件,通过导入它们来使用所有其他文件。
现在,我必须为这个项目构建一个GUI,我正在main.py
文件中构建。我的问题是,其他一些文件在控制台上具有print
的功能,当整个项目运行时,我想在GUI上将这些功能改为print
。那么,如何在主文件中创建的Text
字段中打印其他文件中的文本。
main.py
import second as s
from tkinter import *
def a():
field.insert(END, "Hello this is main!")
root = Tk()
field = Text(root, width=70, height=5, bd=5, relief=FLAT)
button1 = Button(root, width=20, text='Button-1', command=a)
button2 = Button(root, width=20, text='Button-2', command=s.go)
root.mainloop()
second.py
def go():
print("I want this to be printed on the GUI!")
#... and a bunch of other functions...
我只想在用户按下按钮-2时,然后功能go()
打印field
上的文字
答案 0 :(得分:1)
我认为这是尝试添加field
作为函数go
的参数的最佳方式。
这是我的代码:
<强> main.py 强>
import second as s
from tkinter import *
def a(field):
field.insert(END, "Hello this is main!\n")
root = Tk()
field = Text(root, width=70, height=5, bd=5, relief=FLAT)
button1 = Button(root, width=20, text='Button-1', command=lambda : a(field))
button2 = Button(root, width=20, text='Button-2', command=lambda : s.go(field))
#to display widgets with pack
field.pack()
button1.pack()
button2.pack()
root.mainloop()
<强> second.py 强>
from tkinter import *
def go(field):
field.insert(END, "I want this to be printed on the GUI!\n")
print("I want this to be printed on the GUI!")
#something you want
运行效果的截图:)