我试图在我的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)
然后设置位置?
答案 0 :(得分:1)
如果您的真实目标只是使用place
将按钮居中,则可以使用相对坐标,而不必依赖于计算按钮的宽度。
capture_button.place(anchor="c", relx=.5, rely=.5)