Python 仅在一侧向tkinter小部件添加填充
如果tkinter没有将小部件居中,如何向tkinter窗口添加填充? 我试过: 及Python 仅在一侧向tkinter小部件添加填充,python,tkinter,padding,Python,Tkinter,Padding,如果tkinter没有将小部件居中,如何向tkinter窗口添加填充? 我试过: 及 我只想在标签顶部填充30px。网格和pack方法的填充选项padx和pady可以采用表示左/右和上/下填充的2元组 下面是一个例子: import tkinter as tk class MyApp(): def __init__(self): self.root = tk.Tk() l1 = tk.Label(self.root, text="Hello")
我只想在标签顶部填充30px。网格
和pack
方法的填充选项padx
和pady
可以采用表示左/右和上/下填充的2元组
下面是一个例子:
import tkinter as tk
class MyApp():
def __init__(self):
self.root = tk.Tk()
l1 = tk.Label(self.root, text="Hello")
l2 = tk.Label(self.root, text="World")
l1.grid(row=0, column=0, padx=(100, 10))
l2.grid(row=1, column=0, padx=(10, 100))
app = MyApp()
app.root.mainloop()
有多种方法可以使用place
或grid
甚至pack
方法
示例代码:
from tkinter import *
root = Tk()
l = Label(root, text="hello" )
l.pack(padx=6, pady=4) # where padx and pady represent the x and y axis respectively
# well you can also use side=LEFT inside the pack method of the label widget.
要根据列和行放置小部件,请使用网格方法:
but = Button(root, text="hello" )
but.grid(row=0, column=1)
这样,您就可以将顶部的填充称为10,下面的填充称为0。很有趣。这种行为在任何地方都是半官方的吗?我最喜欢的两个tk资源,以及,不要给出任何暗示,填充可以以这种方式不均匀。秘密的未记录行为?@Kevin:tkinter只是一个包含tk库的嵌入式tcl解释器的Python包装器。tk的规范文档提到了这个特性。参考资料如下:在网格padx/pady上工作,但不在框架上工作。可能还有更多的例外exists@DanielBraun:它也适用于框架。Tkinter不在乎它是什么类型的小部件。@Giova:是的,元组版本只适用于padx
和pady
选项的grid
和pack
。一些小部件的padx
和pady
选项不同。您不能将其用于小部件的padx
和pady
选项。我会尽力澄清我的答案。
from tkinter import *
root = Tk()
l = Label(root, text="hello" )
l.pack(padx=6, pady=4) # where padx and pady represent the x and y axis respectively
# well you can also use side=LEFT inside the pack method of the label widget.
but = Button(root, text="hello" )
but.grid(row=0, column=1)
-pady {10,0}