【问题标题】:python 3.5 tkinter text box recordingpython 3.5 tkinter 文本框录制
【发布时间】:2016-11-20 07:07:24
【问题描述】:

我创建了一个程序,用于在文本框中记录输入。之后,它将以文本形式打印 代码如下:

from tkinter import*
window = Tk()
window.geometry("500x300")
a = Label(window, text="hi", font=('Helvetica', 32))
a.place(x=70, y = 80)
entry_box2=Entry(window,)
entry_box2.place(x=110, y=100)
def retrieve_input():
   input = entry_box2.get("1.0",'end-1c')
   a = Label(window, text= input, font=('Helvetica', 32))
   a.place(x=70, y = 80)
window.mainloop() 

我希望我能尽快得到答复

【问题讨论】:

  • retrieve_input 根本没有使用。您希望何时调用它?
  • 您的问题不包括问题。问题是什么,您需要解决方案的哪一部分?

标签: python-3.x tkinter


【解决方案1】:

你必须使用retrieve_input。您可以将bind() 转为Entry 并在按下Enter 时执行。

entry_box2.bind('<Return>', retrieve_input)

然后您可以添加新的Label 或替换现有的文本。

import tkinter as tk

# --- functions ---

def retrieve_input(event):
    # get text from Entry
    #txt = ent.get()
    txt = event.widget.get()

    # create new label with text
    l = tk.Label(root, text=txt)
    l.pack()

    # or change existing label
    lab['text'] = txt

    # clear entry
    #ent.delete(0, len(txt))
    event.widget.delete(0, len(txt))

# --- main ---

root = tk.Tk()

lab = tk.Label(root, text="Hello")
lab.pack()

ent = tk.Entry(root)
ent.pack()
ent.bind('<Return>', retrieve_input)

root.mainloop()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 2022-01-10
    • 2017-05-18
    • 2015-11-22
    相关资源
    最近更新 更多