Почему эта кнопка не переходит в левый нижний угол ткинтера? - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь создать страницу для моего графического интерфейса tkinter, и когда я пытаюсь поместить кнопку для перехода на предыдущую страницу в левом нижнем углу, она, кажется, никогда не работает.

Я создалрамка для помещения внутрь окна, упаковка его в левую сторону, затем упаковка кнопки в этой рамке в нижнюю часть окна. Я также попробовал это наоборот, так что рамка внизу и кнопка слева. Изменение значений размера кадра, похоже, ничего не дает.

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

Изображение результатов кода

Я хочу, чтобы оно было самым нижнимлевый угол и не в том положении, в котором он находится в данный момент. Я хотел бы использовать пакет, так как это не очень сложный дизайн графического интерфейса, и пакет также помещает его автоматически в центр окна, тогда как с сеткой я должен был бы сделать некоторые вычислениячтобы получить это идеально в центре. Кроме того, я выполнил всю свою другую работу с пакетом, поэтому я предпочел бы не менять все это, просто чтобы заставить это работать.

Ответы [ 2 ]

0 голосов
/ 02 ноября 2019

Разобрался с методом проб и ошибок.

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

Это приведет к тому, что кнопка будет в левом нижнем углу: введите описание изображения здесь

Этотакже будет работать, если вы делаете:

previousPageB = tk.Button(self, font = BASIC_FONT, text = "<--", command = lambda: controller.show_frame(LoginPage))
previousPageB.pack(anchor = "s", side = "left")
0 голосов
/ 01 ноября 2019

Вам не нужно использовать фрейм для этого. Вы можете напрямую упомянуть 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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...