如何更改文本框的大小,以便它可以使用tkinter和python在UI上水平扩展

问题描述 投票:0回答:1

我正在设计UI,并希望实现一个文本框来显示输入的数据。例如,当将处理单元输入到其相应的输入字段时,数据将显示并存储在文本框中。UIwithscrollbar

我想更改文本框的宽度,以便将其从第1列扩展到第8列。我试图在grid方法中更改某些参数,但会导致某些格式错误。

这里有一些上下文代码:

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)

python python-3.x user-interface tkinter tkinter-layout
1个回答
2
投票

我想更改文本框的宽度,以便从第1列扩展到第8列。

如果是这种情况,您需要告诉它跨越八列,而不是三列。您还需要使用sticky属性,以便文本窗口小部件展开以填充已分配的空间。

textbox.grid(row=5, column=0, columnspan=8, sticky="nsew")
© www.soinside.com 2019 - 2024. All rights reserved.