#python #tkinter
#python #tkinter
Вопрос:
import tkinter as tk
from tkinter import *
from tkinter import ttk
# 1440x720
#1090x568'
root = tk.Tk()
root.geometry('1152x576')
root.title("TimeTable")
#root.resizable(False, False)
background_image = tk.PhotoImage(file='image/background.png')
my_notebook = ttk.Notebook(root)
my_notebook.pack()
main_menu = ttk.Frame(my_notebook, width=1152, height=576)
main_menu.pack(fill="both", expand=1)
my_notebook.add(main_menu, text="Main")
background_label = tk.Label(main_menu, image=background_image).place(relwidth=1, relheight=1)
hide_button = tk.Button(main_menu, text="Hide")
hide_button.grid(row=1, column=1)```
Я запускаю код, я вижу это.
Итак, как я могу это исправить? Почему это происходит?
Спасибо
Комментарии:
1. Непонятно, что вы хотите «исправить». Вы показали нам, что вы получаете, когда запускаете код, но не объяснили, чем он отличается от того, что вы ожидаете. Похоже, он ведет себя так, как было задумано.
2. Предполагается, что в рамке отображается изображение, а кнопка
3. Вы пробовали расширить блокнот, чтобы заполнить окно?
Ответ №1:
Когда вы помещаете виджет во фрейм main_menu
, фрейм сжимается, чтобы содержать только виджет дополнение, если таковое имеется. Вы можете предотвратить это, установив grid_propagate
значение False
:
main_menu = ttk.Frame(my_notebook, width=1152, height=576)
main_menu.pack(fill="both", expand=1)
main_menu.grid_propagate(False) # Prevents contained widgets to affect size