【问题标题】:Output text in multiple text-boxes rather than single..tkinter python在多个文本框中输出文本而不是单个..tkinter python
【发布时间】:2020-06-25 17:19:22
【问题描述】:
import tkinter as tk
win = tk.Tk()
win.title('New App')
win.geometry('800x800')


def passgen():
    num = str(inp.get())
# text field for output
    disp = tk.Text(master=win, height=4, width=80, )
    disp.pack()
    disp.insert(tk.END, num)


lab = tk.Label(text='First Label')
lab.pack()
inp = tk.Entry()
inp.pack()
btn = tk.Button(text='Submit', command=passgen)
btn.pack()


win.mainloop()

上面是我的简单 tkinter 代码,但是当我运行它时,我会在多个框中得到输出。我想要的只是每次我使用提交按钮时,输出应该在一个盒子里,而不是多个盒子里。有什么办法吗?我正在使用python 3。 Screenshot

【问题讨论】:

    标签: python-3.x tkinter tkinter-text


    【解决方案1】:

    问题在于passgen() 方法的工作方式,它创建了一个新的tk.Text() 对象。要解决此问题,您需要添加到同一个 Text 对象,这意味着在函数外部创建它,然后使用函数中的全局对象:

    ...
    
    def passgen():
        global disp
        num = str(inp.get())
        disp.insert(tk.END, num)
    
    disp = tk.Text(master=win, height=4, width=80, )
    disp.pack()
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      相关资源
      最近更新 更多