将Python文本区域添加到现有程序

时间:2014-08-11 22:45:26

标签: python text textbox tkinter

我有一个小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( )

1 个答案:

答案 0 :(得分:1)

  

我希望标记为“description”的最后一个网格是一个小文本区域,因为它将用于几个句子而不是几个单词。

正如Entry文档告诉您的那样:

  

要输入多行文字,请使用Text小部件。

所以:

text = Text(master)
text.grid(row=whatever, etc.)
  

我还需要“get()”将此输入用作变量。

我不确定你的意思。如果您的意思是想要附加StringVar,则不能使用Text执行此操作,遗憾的是,只能使用Entry。但是如果你想以某种方式获取内容,你不关心哪种方式,那就容易了; Text文档将向您展示各种不同的方式,但我认为text.get(1.0, END)是您可能想要的方式。