如何在tkinter / GUI中多次(5次)打印相同的文本?

时间:2018-04-02 00:46:43

标签: python-3.x tkinter

   from tkinter import *

   root=Tk()
   textbox=Text(root)
   textbox.pack()
   button1=Button(root, text='Output Name', command=lambda : print('Hello'))
   button1.pack()
   def redirector(inputStr):
       textbox.insert(INSERT, inputStr)

   sys.stdout.write = redirector 

   root.mainloop()

这是我的代码,用了五次计时器。

2 个答案:

答案 0 :(得分:2)

这看起来有点像家庭作业,所以让我们试着让你在正确的轨道上直接提供完成此任务的代码。

您将要创建一个循环来执行您的代码一定次数。让我们说我们只想输出一个字符串5次。例如,这里有一些非常简单的代码:

def testPrint():
    print('I am text!')

for i in range(5):
    testPrint()

这将创建一个名为testPrint()的函数,用于打印文本"我是Text!",然后在循环中运行该函数5次。如果你可以将它应用到你需要运行5次的代码部分,它应该可以解决你所面临的问题。

答案 1 :(得分:-1)

这对我有用。它使用.messagebox模块创建一个表。您可以在条目标签中输入您的姓名。然后,当您单击该按钮时,它将返回“Hello(name)”。

from tkinter import *
from tkinter.messagebox import *

master = Tk()
label1 = Label(master, text = 'Name:', relief = 'groove', width = 19)
entry1 = Entry(master, relief = 'groove', width = 20)
blank1 = Entry(master, relief = 'groove', width = 20)


def show_answer():
    a = entry1.get()
    b = "Hello",a
    blank1.insert(0, b)


button1 = Button(master, text = 'Output Name', relief = 'groove', width = 20, command =show_answer)


#Geometry
label1.grid( row = 1, column = 1, padx = 10 )
entry1.grid( row = 1, column = 2, padx = 10 )
blank1.grid( row = 1, column = 3, padx = 10 )
button1.grid( row = 2, column = 2, columnspan = 2)

#Static Properties
master.title('Hello')