Сетка tkinter Python, значение строки игнорируется в виджете ScrolledText - PullRequest
0 голосов
/ 30 марта 2019

Я хочу иметь пробел между виджетом Entry и виджетом ScrollText.Я думал, что это будет так же просто, как установка строки = 2 для сетки.Странно, что независимо от того, что я установил для строки, виджет ScrollText всегда начинается со строки 1. Я полагаю, что я мог бы добавить пустой текстовый виджет, чтобы освободить место, но я не понимаю, почему установка строки не работает для меня.

from tkinter import *
from tkinter import scrolledtext

main = Tk()
main.title("Grid Prob")
main.geometry('750x750')


text = StringVar()
entSearch = Entry(main, textvariable = text, width = 50, font='arial 12',
                  highlightthickness=1)
entSearch.grid(row = 0, column = 1)

txt = """This is some text to be entered into the text widget. It should 
word wrap when the text exceeds the width of the widget."""
textw = scrolledtext.ScrolledText(main,width=70,height=33)

# No matter what number I put for row the scroll widget always starts in 
# row 1
textw.grid(column=1, row=3)

textw.config(background="light grey", foreground="black",
             font='arial 12', wrap='word')
textw.insert(END, txt)    

main.mainloop()

1 Ответ

1 голос
/ 31 марта 2019

Если я правильно интерпретировал то, что сказал Брайан Оукли в комментариях выше, проблема в том, что, поскольку мой код ничего не помещал в строку 2, по умолчанию он (строка 2) имеет высоту 0. Это означает, что я помещаю свойScrollText Виджет в строку 3, как и предполагалось, но поскольку строка 2 имеет высоту 0, визуально это выглядит так, как будто она помещается в строку 2. Я добавил пустой код в свой код с высотой один и поместил его в строку 2. Это обеспечилопространство, которое я искал.Вот дополнительный код, который я добавил.

label_1 = Label(main, width = "70", height = "1")
label_1.grid(row=1, columnspan=3)

Кажется странным, что tkinter заставляет вас добавлять виджеты только для того, чтобы освободить место.Если кто-нибудь знает лучший способ сделать это, пожалуйста, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...