Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 19.11.2018
Сообщений: 11

Фрейм и его содержимое не растягиваются под всю ширину окна

10.06.2022, 15:45. Показов 1048. Ответов 0

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Возникла такая дилемма, создал окно, заполнил его содержимым, но его оказалось слишком много для экрана, поэтому решил добавить вертикальный скролл. Прочитав статьи на форуме сделал это через создание дополнительных фреймов, canvas и скролл с привязкой к canvas.

По итогу: скролл работает, но фрейм с контентом занимает лишь малую часть окна и не растягивается при масштабировании окна. Что нужно исправить?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
win = Toplevel()
    win.geometry('1300x800+100+50')
    win.title('Внесение данных в таблицу')
    win.grab_set()
    root.withdraw()
    win.protocol("WM_DELETE_WINDOW", on_closing)
    win.resizable(True, False)
    win.minsize(550, 100)
    win.config(bg="black")
 
    main_f = Frame(win, bg="yellow")
    main_f.pack(fill=BOTH, expand=True)
 
    # canvas
    my_canvas = Canvas(main_f, bg='blue')
    my_canvas.pack(side=LEFT, fill=BOTH, expand=True)
 
    # scrollbar
    my_scrollbar = ttk.Scrollbar(main_f, orient=VERTICAL, command=my_canvas.yview)
    my_scrollbar.pack(side=RIGHT, fill=Y)
 
    my_canvas.configure(yscrollcommand=my_scrollbar.set)
    my_canvas.bind(
        '<Configure>', lambda e: my_canvas.configure(scrollregion=my_canvas.bbox("all"))
    )
 
    sec_f = Frame(my_canvas, bg='green')
    # sec_f.pack(side=RIGHT, expand=True, fill=BOTH)
 
    my_canvas.create_window((0, 0), window=sec_f, anchor="nw")
 
    f0 = Frame(sec_f, bg="#F1EEE9")
    f0.pack(fill=X, padx=10, pady=10)
 
    ... и ещё десяток фреймов под различное содержимое ...
 
    label_0 = Label(f0, width=25, text='Город:')
    label_0.pack(side=LEFT)
 
    e_city = Entry(f0)
    e_city.pack(fill=X, padx=10, ipady=2, expand=True)
 
    ... и ещё куча содержимого под каждый фрейм ...
 
    win.mainloop()
Для наглядности во вложениях пример проблемного окна.
Спасибо.

P.S.: всё в разных цветах для того чтобы понимать какой элемент какую площадь окна занимает.
Миниатюры
Фрейм и его содержимое не растягиваются под всю ширину окна  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.06.2022, 15:45
Ответы с готовыми решениями:

Растянуть содержимое блоков на всю его ширину
Ниже описан код самого блока, подскажите пожалуйста, как и что в нем отвечает за длину разделов блока, как сделать чтобы эти 3 блока...

Содержимое ячейки растянуть на всю ее ширину в TableView
Как сделать, чтобы progressBar занимал всю ячейку?

Содержимое DIV в одну строку на всю ширину
Добрый день. Необходимо сделать строку (скрин во вложении). Кнопка &quot;Каталог товаров&quot; имеет фиксированный размер в строке,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.06.2022, 15:45
Помогаю со студенческими работами здесь

Резиновое меню на всю ширину окна
Здравствуйте, подскажите пж-та, только начинаю изучать wordpress, возникла проблема: сайт оформлен с использованием темы Twenty Sixteen,...

Элементы в DataTemplate на всю ширину окна
подскажите как сделать так чтоб grid который находится в DataTemplate находился на всю ширину экрана

Элементы в DataTemplate на всю ширину окна
имеется код &lt;ListView &gt; &lt;ListView.ItemTemplate&gt; &lt;DataTemplate&gt; &lt;Grid Name=&quot;gridtest&quot;&gt; ... &lt;/Grid&gt; &lt;/DataTemplate&gt; ...

Скролл не растягивается на всю ширину окна
Применяю &quot;JScrollPane&quot;. Изначально текст вылазин на весь экран, а потом когда скролл доходит до этого места он прекращается и текст...

Как сделать блок на всю ширину окна браузера
У меня возникла проблема с размерами &lt;div&gt; Не получается сделать на всю 100% ширину окна браузера, вначале описывал в css размеры ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru