无法使用网格移动对象

时间:2018-12-05 22:14:27

标签: python user-interface tkinter grid

我已经研究了这个问题,并发现了有类似问题的人。但是,答案对我来说还不清楚。

我试图将我的对象自由移动到X行和X列中。现在,无论我将columnrow的值设置为什么,我的对象都不会改变位置,它始终位于左上角。

根据其他人的回答,空的rowscolumns的大小为零。我该如何更改?

这是我当前的代码:

from tkinter import *

class Application:
    def __init__(self, master):
        frame = Frame(master)

        b = Button(text="This is a button")
        b.grid(row=2, column=3)

root = Tk()
root.geometry('{}x{}'.format(500, 300))
app = Application(root)
root.mainloop()

1 个答案:

答案 0 :(得分:1)

是的,空行和列的大小为零。因此,无需任何其他选项的帮助,您的小部件将放置在窗口的角落。但是借助padxpadysticky等选项以及grid_columnconfigure()grid_rowconfigure()之类的功能,您可以实现自己想要的。举个例子,看看这个:

from tkinter import *

class Application:
    def __init__(self, master):
        frame = Frame(master)
        b = Button(text="This is a button")
        b.grid(row=0, column=0, pady=(20,0))
        master.grid_columnconfigure(0, weight=1)

root = Tk()
root.geometry('{}x{}'.format(500, 300))
app = Application(root)
root.mainloop()

enter image description here