Как изменить размер текстового поля, чтобы оно расширялось по горизонтали через пользовательский интерфейс с помощью tkinter и python - PullRequest
0 голосов
/ 12 марта 2020

Я проектирую пользовательский интерфейс и хочу реализовать текстовое поле для отображения введенных данных. Например, когда единица обработки введена в соответствующее поле ввода, данные будут отображены и сохранены в текстовом поле. UIwithscrollbar

Я хочу изменить ширину текстового поля, чтобы оно расширялось от столбца 1 к столбцу 8. Я пытался изменить некоторые параметры в методе сетки, но это вызывает некоторые ошибки форматирования.

Вот код для контекста:

e1 = Entry(master, borderwidth=5, width=12) #origin zip
e2 = Entry(master, borderwidth=5, width=12) #destination zip
e3 = Entry(master, borderwidth=5, width=12) #handling unit(s)
e4 = Entry(master, borderwidth=5, width=12) #piece(s)
e5 = Entry(master, borderwidth=5, width=13) #description(s)
e6 = Entry(master, borderwidth=5, width=12) #length(s)
e7 = Entry(master, borderwidth=5, width=12) #width(s)
e8 = Entry(master, borderwidth=5, width=12) #height(s)
e9 = Entry(master, borderwidth=5, width=12) #weight(s)
e10 = Entry(master, borderwidth=5, width=12) #class(s)

e1.grid(row = 0, column = 2, pady = 1, sticky="W")  #origin zip
e2.grid(row = 0, column = 4, pady = 1, sticky="W") #destination zip
e3.grid(row = 3, column = 1, pady = 1, sticky="W") #handling unit(s)
e4.grid(row = 3, column = 2, pady = 1, sticky="W") #piece(s)
e5.grid(row = 3, column = 3, pady = 1, sticky="W")  #description(s)
e6.grid(row = 3, column = 4, pady = 1, sticky="W")  #length(s)
e7.grid(row = 3, column = 5, pady = 1, sticky="W") #width(s)
e8.grid(row = 3, column = 6, pady = 1, sticky="W") #height(s)
e9.grid(row = 3, column = 7, pady = 1, sticky="W") #weight(s)
e10.grid(row = 3, column = 8, pady = 1, sticky="W") #class(s)

textbox=Text(master, width=9, borderwidth=5, height=7)
textbox.grid(row=5, column=0, columnspan=3)

scrollbar=Scrollbar(master, orient="vertical", command=textbox.yview)
scrollbar.grid(row=5, column=9, sticky=NS)
textbox.configure(yscrollcommand=scrollbar.set)

1 Ответ

2 голосов
/ 12 марта 2020

Я хочу изменить ширину текстового поля, чтобы оно расширялось от столбца 1 к столбцу 8.

Если это так, вам нужно указать, что он охватывает восемь столбцов не три. Вам также необходимо использовать атрибут sticky, чтобы текстовый виджет расширялся, чтобы заполнить пространство, которое было выделено.

textbox.grid(row=5, column=0, columnspan=8, sticky="nsew")
...