У меня проблемы с пониманием диапазона строк TKinter и управления сеткой.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 У меня проблемы с пониманием диапазона строк TKinter и управления сеткой.

Сообщение Anonymous »

Я пытаюсь понять использование сетки TKinter и, в частности, аргументов rowspan и columnspan.
Я создал небольшой тест, чтобы понять систему сетки Tkinter. Я хочу иметь два разных фрейма, каждый со своей сеткой. Во втором подкадре у меня есть метки с диапазоном строк 1 и 2. Я ожидаю, что метки с диапазоном строк = 2 будут в два раза выше, чем метки с диапазоном строк = 1, но это не так:

Код: Выделить всё

from tkinter import *
import tkinter as tk

root = Tk()
mainframe = tk.Frame(root)
mainframe.grid(row=0, column=0)

for i in range(2):
mainframe.rowconfigure(i, weight=1)
mainframe.columnconfigure(i, weight=1)

subframe1 = tk.Frame(mainframe)
subframe1.grid(column=0, row=0, sticky="nswe")
for i in range(4):
subframe1.rowconfigure(i, weight=1)
for i in range(2):
subframe1.columnconfigure(i, weight=1)

subframe2 = tk.Frame(mainframe)
subframe2.grid(column=1, row=0, sticky="nswe")
for i in range(4):
subframe2.rowconfigure(i, weight=1)
for i in range(2):
subframe2.columnconfigure(i, weight=1)

tk.Label(subframe1, text="Label 1", bg="gray").grid(column=0, row=0, sticky="nswe")
tk.Label(subframe1, text="Label 2", bg="red").grid(column=1, row=0, sticky="nswe")
tk.Label(subframe1, text="Label 3", bg="cyan").grid(column=0, row=1, sticky="nswe")
tk.Label(subframe1, text="Label 4", bg="blue").grid(column=1, row=1, sticky="nswe")
tk.Label(subframe1, text="Label 9", bg="gray").grid(column=0, row=2, sticky="nswe")
tk.Label(subframe1, text="Label 10", bg="red").grid(column=1, row=2, sticky="nswe")
tk.Label(subframe1, text="Label 11", bg="cyan").grid(column=0, row=3, sticky="nswe")
tk.Label(subframe1, text="Label 12", bg="blue").grid(column=1, row=3, sticky="nswe")

tk.Label(subframe2, text="Label 5", bg="yellow").grid(column=0, row=0, rowspan=2, sticky="nswe")
tk.Label(subframe2, text="Label 6", bg="grey").grid(column=1, row=0, rowspan=1, sticky="nswe")
tk.Label(subframe2, text="Label 7", bg="red").grid(column=0, row=2, rowspan=1, sticky="nswe")
tk.Label(subframe2, text="Label 8", bg="purple").grid(column=1, row=2, rowspan=2, sticky="nswe")

mainframe.mainloop()

Вот результат
Может кто-нибудь объяснить мне, почему метки 6 и 7 не вдвое меньше меток 5 и 8?

Подробнее здесь: https://stackoverflow.com/questions/788 ... -managment
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как получить позицию щелчка мыши как строку, столбец в рамке tkinter с сеткой?
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Почему мне нужно импортировать tkinter.messagebox, но не нужно импортировать tkinter.Tk() после импорта tkinter?
    Anonymous » » в форуме Python
    0 Ответы
    101 Просмотры
    Последнее сообщение Anonymous
  • Проблема с пониманием точки поиска, зависящего от аргумента.
    Гость » » в форуме C++
    0 Ответы
    16 Просмотры
    Последнее сообщение Гость
  • Проблемы с пониманием относительного импорта в Python
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Проблема с пониманием того, как использовать API TIMEOFF.GURU.
    Гость » » в форуме JAVA
    0 Ответы
    39 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»