Python 使用Tkinter将内容打印到gui
制作了一个简单的程序,要求用户输入,但我想在gui上打印出来,而不是在shell的命令行上Python 使用Tkinter将内容打印到gui,python,user-interface,tkinter,Python,User Interface,Tkinter,制作了一个简单的程序,要求用户输入,但我想在gui上打印出来,而不是在shell的命令行上 import Tkinter class simpleapp_tk(Tkinter.Tk): def __init__(self,parent): Tkinter.Tk.__init__(self,parent) self.parent = parent self.initialize() def initialize(self
import Tkinter
class simpleapp_tk(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
self.parent = parent
self.initialize()
def initialize(self):
self.grid()
self.entry = Tkinter.Entry(self)
self.entry.grid(column=0,row=1,sticky='EW')
button = Tkinter.Button(self,text="Click me !", command = self.on_button)
button.grid(column=1,row=1)
label = Tkinter.Label(self,
text = "ns lookup")
label.grid(column=0,row=0,columnspan=2,sticky='EW')
def on_button(self):
ns = (self.entry.get())
print(ns)
if __name__ == "__main__":
app = simpleapp_tk(None)
app.title('my application')
app.mainloop()
我还想知道是否可以清除结果,以便只显示当前结果,您可以传递标签,然后更改标签文本。或者,如果您不想更改此标签,请创建一个新标签。您可以使用画布,使用
创建_text
,如果您有很多要查看的文本,您可以使用文本小部件/滚动文本在那里插入文本,并使用各种其他方式“打印”Tk中的值
def initialize(self):
self.grid()
self.entry = Tkinter.Entry(self)
self.entry.grid(column=0,row=1,sticky='EW')
label = Tkinter.Label(self, text = "ns lookup")
button = Tkinter.Button(self,text="Click me !", command = lambda: self.on_button(label))
label.grid(column=0,row=0,columnspan=2,sticky='EW')
button.grid(column=1,row=1)
def on_button(self, label):
ns = self.entry.get()
label['text'] = ns
或者,您可以将标签设置为类的属性,并调用
self.label
或任何其他可用选项。只需保存对标签的引用,然后使用配置
消息对其进行更改:
class simpleapp_tk(Tkinter.Tk):
...
def initialize(self):
...
self.label = Tkinter.Label(self, text = "ns lookup")
...
def on_button(self):
ns = (self.entry.get())
self.label.configure(text="you entered: '%s'" % ns)