Установка окна в фиксированный размер с помощью Tkinter
Эта программа создаст окно, в котором сообщение отображается в соответствии с флажком.
from Tkinter import *
class App:
def __init__(self,master):
self.var = IntVar()
frame = Frame(master)
frame.grid()
f2 = Frame(master,width=200,height=100)
f2.grid(row=0,column=1)
button = Checkbutton(frame,text='show',variable=self.var,command=self.fx)
button.grid(row=0,column=0)
msg2="""I feel bound to give them full satisfaction on this point"""
self.v= Message(f2,text=msg2)
def fx(self):
if self.var.get():
self.v.grid(column=1,row=0,sticky=N)
else:
self.v.grid_remove()
top = Tk()
app = App(top)
top.mainloop()
Как я могу сделать размер окна постоянным, когда сообщение отображается, и сообщение не отображается.
Ответы
Ответ 1
Этот код создает окно с условиями, при которых пользователь не может изменять размеры окна Tk()
, а также отключает кнопку максимизации.
import tkinter as tk
root = tk.Tk()
root.resizable(width=False, height=False)
root.mainloop()
В рамках программы вы можете изменить размеры окна с ответом @Carpetsmoker или сделав следующее:
root.geometry('{}x{}'.format(<widthpixels>, <heightpixels>))
Вам должно быть довольно легко реализовать это в вашем коде.:)
Ответ 2
Вы можете использовать minsize
и maxsize
для установки минимального и максимального размера, например:
def __init__(self,master):
master.minsize(width=666, height=666)
master.maxsize(width=666, height=666)
Дает вашему окну фиксированную ширину и высоту 666 пикселей.
Или просто используя minsize
def __init__(self,master):
master.minsize(width=666, height=666)
Убедитесь, что ваше окно всегда имеет размер не менее 666 пикселей, но пользователь все равно может расширить окно.
Ответ 3
Вы можете использовать:
parentWindow.maxsize(#,#);
parentWindow.minsize(x,x);
В нижней части кода установите фиксированный размер окна.
Ответ 4
Это вариант уже существующего решения, уже представленного выше:
import tkinter as tk
root = tk.Tk()
root.resizable(0, 0)
root.mainloop()
Преимущество состоит в том, что вы печатаете меньше.