我有一个小python程序。我使用Tkinter作为GUI。我有一堆网格样式文本框,但我想添加一个小文本区域。我试过的所有例子都可以使用,但是在新窗口中打开。
我希望最后一个网格标有" description"相反,它是一个小的文本区域,因为它将用于几个句子而不是几个单词。我也需要" get()"此输入用作变量。
这是我的脚本。(我遗漏了一些可能会导致错误的部分) 来自Tkinter import *
master = Tk()
Label(master, text="Stock #").grid(row=0, sticky=W)
Label(master, text="Type").grid(sticky=W, row=1)
Label(master, text="Make").grid(sticky=W, row=2)
Label(master, text="Model").grid(sticky=W, row=3)
Label(master, text="GVW").grid(sticky=W, row=0, column=2)
Label(master, text="Description").grid(sticky=W, row=1, column=2)
e1 = Entry(master)
e2 = Entry(master)
e3 = Entry(master)
e4 = Entry(master)
e24 = Entry(master)
e25 = Entry(master)
e1.grid(row=0, column=1, pady=5, padx=(0,30))
e2.grid(row=1, column=1, pady=5, padx=(0,30))
e3.grid(row=2, column=1, pady=5, padx=(0,30))
e4.grid(row=3, column=1, pady=5, padx=(0,30))
e24.grid(row=0, column=3, pady=5, padx=(0,10))
e24.insert(0, "N/A")
e25.grid(row=1, column=3, pady=5, padx=(0,10))
e25.insert(0, "N/A")
mainloop( )
答案 0 :(得分:1)
我希望标记为“description”的最后一个网格是一个小文本区域,因为它将用于几个句子而不是几个单词。
正如Entry
文档告诉您的那样:
要输入多行文字,请使用
Text
小部件。
所以:
text = Text(master)
text.grid(row=whatever, etc.)
我还需要“get()”将此输入用作变量。
我不确定你的意思。如果您的意思是想要附加StringVar
,则不能使用Text
执行此操作,遗憾的是,只能使用Entry
。但是如果你想以某种方式获取内容,你不关心哪种方式,那就容易了; Text
文档将向您展示各种不同的方式,但我认为text.get(1.0, END)
是您可能想要的方式。