Я создаю многокадровое приложение Tkinter для школьного проекта (панель управления NEA). В одном из кадров отображается диаграмма рассеяния Matplotlib с использованием рисункаCanvasTkAgg. Проблема в том, что после переключения на фрейм с графиком все окно сжимается — и все виджеты уменьшаются пропорционально.
Что я пробовал:
Блокировка размера окна с помощью .geometry(), .minsize() и .maxsize()
Отключение распространения с помощью .pack_propagate(False) во фрейме
Установка figsize=(8, 6) и dpi=100 в plt.figure()
Использование .config(width=800, height=600) в виджете холста
Обертывание холста в рамку-контейнер
По возможности избегайте .update()
Несмотря на все это, окно по-прежнему сжимается после 1–2 запусков, и мне часто приходится перезапускать IDE для восстановления. Я также заметил, что приложение ненадолго показывает главный кадр перед переключением на вход в систему, что может способствовать сдвигу макета.
вот соответствующий код:
Я создаю многокадровое приложение Tkinter для школьного проекта (панель управления NEA). В одном из кадров отображается диаграмма рассеяния Matplotlib с использованием рисункаCanvasTkAgg. Проблема в том, что после переключения на фрейм с графиком все окно сжимается — и все виджеты уменьшаются пропорционально. Что я пробовал: [list] [*]Блокировка размера окна с помощью .geometry(), .minsize() и .maxsize()
[*]Отключение распространения с помощью .pack_propagate(False) во фрейме
[*]Установка figsize=(8, 6) и dpi=100 в plt.figure()
[*]Использование .config(width=800, height=600) в виджете холста
[*]Обертывание холста в рамку-контейнер
[*]По возможности избегайте .update()
[/list] Несмотря на все это, окно по-прежнему сжимается после 1–2 запусков, и мне часто приходится перезапускать IDE для восстановления. Я также заметил, что приложение ненадолго показывает главный кадр перед переключением на вход в систему, что может способствовать сдвигу макета. вот соответствующий код: [code]import tkinter as tk from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg import matplotlib.pyplot as plt import numpy as np