Как поместить объект в конкретную строку или столбец при использовании пакета в tkinter - PullRequest
0 голосов
/ 13 ноября 2018

Я делал некоторые приложения с графическим интерфейсом, используя python tkinter. В tkinter pack и grid нельзя использовать вместе. При написании кода мне пришлось использовать pack, а затем мне нужно было использовать 2 функции, которые назывались Cloumn и row. сетка, но это невозможно.

from tkinter import *
root = Tk()
button = Button(root, text="Click Me")
button.pack(side="bottom") #But I want to put that button in row=3
root.mainloop()

Мне нужно поместить эту кнопку в строку № 3. Но как я могу это сделать? Есть ли способ сделать это?

1 Ответ

0 голосов
/ 13 ноября 2018

Чтобы упаковка и сетка использовались в одном и том же коде, вам необходимо убедиться, что вы используете их в отдельных контейнерах.Каждый контейнер (корневое окно, окно верхнего уровня, фрейм) может иметь только grid() или pack().

Например, если мне нужно использовать pack для фрейма, а затем использовать сетку внутри этого фрейма, которыйХорошо.Но я не могу использовать pack внутри фрейма, а также grid внутри фрейма.

Если вы откроете окно, созданное из приведенного ниже кода, вы увидите, как pack и grid могут работать вместе при правильном использовании.

import tkinter as tk

root = tk.Tk()

top_frame = tk.Frame(root)
top_frame.pack(sid="top")
bot_frame = tk.Frame(root)
bot_frame.pack(sid="bottom")

tk.Label(top_frame, text="Row 0 of top_frame").grid(row=0, column=0)

tk.Label(bot_frame, text="Row 0 of bot_frame").grid(row=0, column=0)
tk.Label(bot_frame, text="Row 1 of bot_frame").grid(row=1, column=0)
tk.Label(bot_frame, text="Row 2 of bot_frame").grid(row=2, column=0)
tk.Button(bot_frame, text="Row 3 of bot_frame").grid(row=3, column=0)

root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...