Размеры окна верхнего уровня Tkinter
Я искал во всем Интернете, пытаясь найти способ измерить TopLevel()
окно в ткинтер. Я прочитал документацию и посмотрел tkinterbook на сайте effbot.org. Я вижу варианты, но просто не могу заставить их работать.
def test():
top = Toplevel()
top.title("test")
msg = Message(top, text="test")
msg.pack(pady=10, padx=10)
def test1():
top = Toplevel()
top.title("test1")
msg = Message(top, text="test1")
msg.pack(pady=10, padx=10)
Я знаю что есть height
а также width
варианты и есть также root.geometry
, Однако я просто не могу ничего получить с TopLevel
работать...
Кроме того, это лучший способ создать новое окно с помощью определения и верхнего уровня? Все, что я хочу, это всплывающее окно с некоторым форматированным текстом в нем.
1 ответ
Следующее создает корневое окно, затем устанавливает его размер 400x400, а затем создает Toplevel
виджет и устанавливает его размер в 500x100:
>>> import tkinter as tk
>>> root = tk.Tk()
>>> root.geometry('400x400')
''
>>> top = tk.Toplevel()
>>> top.geometry('500x100')
''
Другой вариант - использовать контейнерный виджет, например Canvas
или же Frame
нужного размера в окне, с которым вы хотели бы работать. Затем вы можете поместить другие объекты в этот контейнер:
>>> top2 = tk.Toplevel()
>>> frame = tk.Frame(top2, width=100, height=100)
>>> frame.pack()
Когда ты pack()
frame
, top2
автоматически подгоняется под frame
размер.
С помощью geometry()
установить размер результатов AxB в том же окне размера, что и размещение виджета AxB в окне динамического размера, то есть если вы вставили виджет (или используете geometry()
чтобы установить размер окна в) ширину экрана, границы окна будут находиться за пределами видимой области экрана.