Tkinter Python删除垂直空格
我试图使用Tkinter在Python中构建GUI,但插入的文本标签“在下面输入值并单击搜索。\n”占据了大约6个空白行。请帮我把它取下来。我当前使用上面代码的结果是左边的,我想得到右边的图像Tkinter Python删除垂直空格,python,user-interface,text,tkinter,Python,User Interface,Text,Tkinter,我试图使用Tkinter在Python中构建GUI,但插入的文本标签“在下面输入值并单击搜索。\n”占据了大约6个空白行。请帮我把它取下来。我当前使用上面代码的结果是左边的,我想得到右边的图像 创建文本小部件时,指定要显示的行数,例如: label=tk.Text(root,background=“yellow”,height=3) 如果未指定,则表示默认值为24,因此在程序中它如此大。创建文本小部件时,请指定希望它显示的行数,例如: label=tk.Text(root,background=
创建文本小部件时,指定要显示的行数,例如:
label=tk.Text(root,background=“yellow”,height=3)
如果未指定,则表示默认值为24,因此在程序中它如此大。创建文本小部件时,请指定希望它显示的行数,例如:
label=tk.Text(root,background=“yellow”,height=3)
未能指定表示它将默认为24,因此它在程序中如此大。忽略代码中的grid()
错误
您可以通过提供权重和起始几何体大小来纠正大小问题
更新:
如果为适当的行和列提供权重,则为文本小部件指定默认高度(例如3),并将文本小部件上的grid()
告知sticky=“nsew”
,您可以让程序以所需的大小启动,并且如果需要,可以均匀调整大小
请看下面的代码:
import tkinter as tk
root = tk.Tk()
buttonOK = tk.Button(root, text='B1')
MCC = tk.Button(root, text='B2')
TID = tk.Button(root, text='B3')
CURRENCY = tk.Button(root, text='B4')
COUNTRY = tk.Button(root, text='B5')
RESPONSE = tk.Button(root, text='B6')
B1.grid(row=3, column=0, sticky=tk.E+tk.W)
B2.grid(row=3, column=1, sticky=tk.E+tk.W)
B3.grid(row=3, column=2, sticky=tk.E+tk.W)
B4.grid(row=4, column=0, sticky=tk.E+tk.W)
B5.grid(row=4, column=1, sticky=tk.E+tk.W)
B6.grid(row=4, column=2, sticky=tk.E+tk.W)
label1 = tk.Entry(root, bd =8)
label1.grid(row=2, column=0, rowspan=1, columnspan=3, sticky=tk.E+tk.W)
label=tk.Text(root,background="yellow")
label.insert(index=0.0, chars="Enter values below\nand click search.\n")
label.grid(row=0, column=0,rowspan=1, columnspan=3, sticky=tk.E+tk.W)
root.mainloop()
忽略代码中的grid()
错误
您可以通过提供权重和起始几何体大小来纠正大小问题
更新:
如果为适当的行和列提供权重,则为文本小部件指定默认高度(例如3),并将文本小部件上的grid()
告知sticky=“nsew”
,您可以让程序以所需的大小启动,并且如果需要,可以均匀调整大小
请看下面的代码:
import tkinter as tk
root = tk.Tk()
buttonOK = tk.Button(root, text='B1')
MCC = tk.Button(root, text='B2')
TID = tk.Button(root, text='B3')
CURRENCY = tk.Button(root, text='B4')
COUNTRY = tk.Button(root, text='B5')
RESPONSE = tk.Button(root, text='B6')
B1.grid(row=3, column=0, sticky=tk.E+tk.W)
B2.grid(row=3, column=1, sticky=tk.E+tk.W)
B3.grid(row=3, column=2, sticky=tk.E+tk.W)
B4.grid(row=4, column=0, sticky=tk.E+tk.W)
B5.grid(row=4, column=1, sticky=tk.E+tk.W)
B6.grid(row=4, column=2, sticky=tk.E+tk.W)
label1 = tk.Entry(root, bd =8)
label1.grid(row=2, column=0, rowspan=1, columnspan=3, sticky=tk.E+tk.W)
label=tk.Text(root,background="yellow")
label.insert(index=0.0, chars="Enter values below\nand click search.\n")
label.grid(row=0, column=0,rowspan=1, columnspan=3, sticky=tk.E+tk.W)
root.mainloop()
您不需要使用
sticky=tk.E+tk.W
,只需使用sticky=“EW”
。顺便说一句,您正试图将B1
-B6
设置为网格,但尚未定义任何具有这些名称的小部件。我假设您正在尝试将网格管理器应用于代码中先前列出的按钮。如果是这样,您需要更正网格分配。您不需要使用sticky=tk.E+tk.W
,只需使用sticky=“EW”
。顺便说一句,您正在尝试将B1
-B6
设置为网格,但尚未定义任何具有这些名称的小部件。我假设您正在尝试将网格管理器应用于代码中先前列出的按钮。如果是这样,您需要更正网格分配。谢谢!成功了。思想默认值总是设置为1。不用担心。如果您在此主题上不再需要帮助,请将答案标记为已接受:)谢谢!成功了。思想默认值总是设置为1。不用担心。如果您不再需要此主题的帮助,请将答案标记为已接受:)此解决方案的问题在于您正在猜测窗口的高度。如果此代码在具有不同分辨率或不同字体的系统上运行,则大小可能不合适。@BryanOakley我可能会重写它以测量起始窗口大小,并将最小/最大宽度设置为该大小。在不知道具体高度的必要性的情况下,我认为这是OP的一个良好开端。我将在我当前项目结束一分钟后回顾我的答案。是的,你可以。这太麻烦了,因为真正需要做的只是将文本小部件的高度设置为三行,然后让tkinter为您完成所有计算。@BryanOakley我可能也应该在列上加一个权重,这样调整大小就不会是视觉上的问题。这将消除对最大/最小大小的需要。是的,如果使用网格,则应始终为至少一行和一列指定正权重。此解决方案的问题是,您正在猜测窗口的高度。如果此代码在具有不同分辨率或不同字体的系统上运行,则大小可能不合适。@BryanOakley我可能会重写它以测量起始窗口大小,并将最小/最大宽度设置为该大小。在不知道具体高度的必要性的情况下,我认为这是OP的一个良好开端。我将在我当前项目结束一分钟后回顾我的答案。是的,你可以。这太麻烦了,因为真正需要做的只是将文本小部件的高度设置为三行,然后让tkinter为您完成所有计算。@BryanOakley我可能也应该在列上加一个权重,这样调整大小就不会是视觉上的问题。这将消除对最大/最小大小的需要。是的,如果使用网格,则应始终为至少一行和一列指定正权重。