为什么这个按钮不在左下角?

2024-10-02 00:28:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图为我的tkintergui创建一个页面,当我试图在左下角放置一个按钮转到上一个页面时,它似乎永远不会工作

我已经创建了一个框架,把它放在窗口内,包装到左边,然后包装在框架的按钮到它的底部。我也试过另一种方法,所以框架在底部,按钮在左边。更改帧大小的值似乎毫无作用

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也会自动将它放在窗口的中心,而使用grid时,我必须做一些数学运算才能将它完美地放在中心。此外,我已经完成了我的所有其他工作与包,所以我不想改变它只是为了让这一切工作


Tags: ofthe方法self框架页面中心按钮
2条回答

您不必使用frame,您可以直接在pack中提到fill='none'和side='left',将小部件放在窗口的左侧

import tkinter as tk
root = tk.Tk()
previousPageB = tk.Button(root, text = "< ", command = lambda: 
controller.show_frame(LoginPage))
previousPageB.pack(fill='none',side = "left")

经过反复试验才弄明白

 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")

相关问题 更多 >

    热门问题