Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 28, 2025 08:23:30

starson02
Зарегистрирован: 2025-02-28
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему frame из tkinter меняет размер при добавлении в него виджета

 import tkinter
from tkinter import *
if __name__ == '__main__':
    win = tkinter.Tk()
    win.title ('Test')
    win.geometry ('200x200')
    frameData = tkinter.Frame(win, width=200, height=100, bg='red')
    frameList = tkinter.Frame(win, width=200, height=100, bg='green')
    frameData.grid(column=0,row=0,  sticky=NSEW)
    frameList.grid(column=0,row=1,  sticky=NSEW)
    labelNoDoc = tkinter.Label(frameData, text='Номер документа:')
    labelNoDoc.grid(column=0, row=0)
    tkinter.mainloop()

В окне присутствует два фрейма. Каждый растягивается на весь указанный размер. Все выглядит красиво.

Прикреплённый файлы:
attachment 2025-02-27_151311.png (5,4 KБ)

Офлайн

#2 Фев. 28, 2025 14:09:27

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9910
Репутация: +  855  -
Профиль   Отправить e-mail  

Почему frame из tkinter меняет размер при добавлении в него виджета

  
#!/usr/bin/env python3
 
import tkinter
from tkinter import *
 
if __name__ == '__main__':
    win = tkinter.Tk()
    win.title ('Test')
    win.geometry ('200x200')
    frameData = tkinter.Frame(win, width=200, height=100, bg='red')
    frameList = tkinter.Frame(win, width=200, height=100, bg='green')
    frameData.grid(column=0,row=0,  sticky=NSEW)
    frameList.grid(column=0,row=1,  sticky=NSEW)
    labelNoDoc = tkinter.Label(win, text='Номер документа:')
    labelNoDoc.grid(column=0, row=0)
    tkinter.mainloop()
Добавил надпись в окно, а не во фрейм.

starson02
Почему frame из tkinter меняет размер при добавлении в него виджета
Логику не ищи там, так как там много всяких неочевидных тонкостей, которые просто надо знать, работая постоянно с tkinter и перелопатив кучу литературы. Просто изучить координаты рядов и колонок недостаточно.



Отредактировано py.user.next (Фев. 28, 2025 14:19:29)

Офлайн

#3 Фев. 28, 2025 20:41:43

starson02
Зарегистрирован: 2025-02-28
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему frame из tkinter меняет размер при добавлении в него виджета

А что-нибудь полезное по поводу проблемы?

Офлайн

#4 Март 2, 2025 20:00:58

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1378
Репутация: +  123  -
Профиль   Отправить e-mail  

Почему frame из tkinter меняет размер при добавлении в него виджета

starson02
Почему frame из tkinter меняет размер при добавлении в него виджета
если речь идет о labelNoDoc, то он добавился во фрейм, просто у label свой background по умолчанию стандартный, можно изменить на красный
  
    labelNoDoc = tkinter.Label(frameData, text='Номер документа:', bg='red')

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version