向现有程序添加Python文本区域

2024-04-24 16:09:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小python程序。我在用Tkinter做GUI。我有一堆网格样式的文本框,但我想添加一个小的文本区域。所有的例子我都试过了,但打开了新的窗口。你知道吗

我希望最后一个标记为“description”的网格是一个小的文本区域,因为它将用于几个句子而不是几个单词。我还需要“get()”这个输入作为变量使用。你知道吗

这是我的脚本(我遗漏了一些可能会出错的部分) 从Tkinter导入*

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( )

Tags: text文本master网格tkintercolumnlabelgrid
1条回答
网友
1楼 · 发布于 2024-04-24 16:09:31

I want the last grid labeled "description" to be a small text area instead, As it would be used for a few sentences rather than a few words.

正如^{}文档告诉您的那样:

To enter multiple lines of text, use the Text widget.

所以:

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

Also im going to need to "get()" this input to use as a variable.

我不知道你在这里是什么意思。如果你想附加一个StringVar,你不能用Text,遗憾的是,只能用Entry。但是如果你想以某种方式获取内容,你不在乎用哪种方式,那就很简单了;^{}文档将向你展示各种不同的方式,但我认为text.get(1.0, END)是你可能想要的。你知道吗

相关问题 更多 >