为什么此按钮不转到左下角tkinter?

时间:2019-11-01 11:03:33

标签: python tkinter

我正在尝试为tkinter GUI创建一个页面,当我尝试在左下角放置一个按钮以转到上一页时,它似乎永远无法工作。

我创建了一个框架以放置在窗口内,将其包装在左侧,然后将按钮包装在该框架的底部。我也尝试过另一种方法,因此在底部的框架和左侧的按钮。更改框架大小的值似乎无济于事。

previousPageF = tk.Frame(self, height = "100", width = "500")
previousPageF.pack(side = "bottom")

previousPageB = tk.Button(previousPageF, font = BASIC_FONT, text = "<--", command = lambda: controller.show_frame(LoginPage))
previousPageB.pack(side = "left")

Picture of the results of the code

我希望它位于左下角,而不是当前位置。我想使用pack,因为它不是一个非常复杂的GUI设计,而且pack也会自动将其放在窗口的中央,而对于网格,我将不得不做一些数学运算才能使其完美居中。此外,我已经使用pack完成了所有其他工作,所以我不想为了使它正常工作而不要更改所有内容。

2 个答案:

答案 0 :(得分:0)

您不必为此使用框架。您可以在包中直接提及fill ='none'和side ='left'来将小部件放置在窗口的左侧。

 DROP TABLE IF EXISTS mydataset.mynewtable;
 CREATE TABLE mydataset.mynewtable
 AS 
 SELECT * FROM mydataset.myothertable;

答案 1 :(得分:0)

通过反复试验弄清楚了。

 previousPageB = tk.Button(self, font = BASIC_FONT, text = "<--", command = lambda: controller.show_frame(LoginPage))
 previousPageB.pack(anchor = "w", side = "bottom")

这将导致按钮位于左下角: enter image description here

如果您这样做,它也将起作用:

previousPageB = tk.Button(self, font = BASIC_FONT, text = "<--", command = lambda: controller.show_frame(LoginPage))
previousPageB.pack(anchor = "s", side = "left")