如何在绘制按钮之前居中?

时间:2019-02-23 16:28:03

标签: python user-interface tkinter

我试图在我的GUI窗口的中央设置按钮的位置:

capture_button = Button(self, text="Capture", command=self.client_exit)
capture_button.place(x=100, y=100)

但是有一个问题-按钮的中心不在(100,100)处,但其左上角在(100,100),因此没有对称性。所以我决定做这样的事情:

capture_button.place(x=100+buttonsize.x/2, y=100 - buttonsize.y/2)

我知道我可以使用

capture_button.winfo_width

但是在第一次绘制后就可以工作-我如何在绘制前做到这一点,就在python类的ctor中?还是有其他方法,例如setOrigin(centre)然后设置位置?

1 个答案:

答案 0 :(得分:1)

如果您的真实目标只是使用place将按钮居中,则可以使用相对坐标,而不必依赖于计算按钮的宽度。

capture_button.place(anchor="c", relx=.5, rely=.5)