仅在一侧向tkinter小部件添加填充

时间:2010-11-13 20:37:12

标签: python tkinter padding

如何在没有tkinter中心窗口小部件的情况下向tkinter窗口添加填充? 我试过了:

 self.canvas_l = Label(self.master, text="choose a color:", font="helvetica 12")
 self.canvas_l.grid(row=9, column=1, sticky=S, ipady=30)

 self.canvas_l = Label(self.master, text="choose a color:", font="helvetica 12")
 self.canvas_l.grid(row=9, column=1, rowspan=2, sticky=S, pady=30)

我只想在标签的顶部添加30px填充。

3 个答案:

答案 0 :(得分:123)

填充选项padxpady可以使用 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()

答案 1 :(得分:1)

有多种方法可以使用 placegrid 甚至 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)

答案 2 :(得分:0)

websiteView

这样你就提到了顶部的填充为 10,而低于 0。