Добавление текстовой области Python к существующей программе

У меня небольшая программа python. Я использую Tkinter для графического интерфейса. У меня есть куча текстовых полей в стиле сетки, но я хочу добавить небольшую область текста. Все примеры Ive пытались работать, но открываются в новом окне.

Я хочу, чтобы последняя сетка, помеченная как "описание", была небольшой текстовой областью вместо этого, поскольку она будет использоваться для нескольких предложений, а не для нескольких слов. Также им понадобится "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 ответ

Я хочу, чтобы последняя сетка, помеченная как "описание", была небольшой текстовой областью вместо этого, поскольку она будет использоваться для нескольких предложений, а не для нескольких слов.

Как указано Entry Докладе:

Чтобы ввести несколько строк текста, используйте виджет " <code>Text</code>.

Так:

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

Также им понадобится "get()" этот вход для использования в качестве переменной.

Я не уверен, что вы имеете в виду здесь. Если вы имеете в виду, что хотите прикрепить StringVar, вы не можете сделать это с помощью Text, к сожалению, только с Entry. Но если вы хотите каким-то образом получить содержимое, вам все равно, как это сделать, тогда это легко; Text документы покажут вам, как много разных способов, но я думаю, что text.get(1.0, END) - тот, который вы, вероятно, захотите.

licensed under cc by-sa 3.0 with attribution.