J'ai un programme qui crée une fenêtre dans laquelle un message est affiché en fonction d'une case à cocher.
Comment puis-je rendre la taille de la fenêtre constante lorsque le message est affiché et que le message n'est pas affiché?
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()
Ce code crée une fenêtre avec les conditions dans lesquelles l'utilisateur ne peut pas modifier les dimensions de la fenêtre Tk()
, et désactive également le bouton Agrandir.
import tkinter as tk
root = tk.Tk()
root.resizable(width=False, height=False)
root.mainloop()
Dans le programme, vous pouvez modifier les dimensions de la fenêtre avec la réponse de @ Carpetsmoker ou en procédant comme suit:
root.geometry('{}x{}'.format(<widthpixels>, <heightpixels>))
Il devrait être assez facile pour vous d’implémenter cela dans votre code. :)
Vous pouvez utiliser minsize
et maxsize
pour définir une taille minimale et maximale, par exemple:
def __init__(self,master):
master.minsize(width=666, height=666)
master.maxsize(width=666, height=666)
Donnera à votre fenêtre une largeur et une hauteur fixes de 666 pixels.
Ou, simplement en utilisant minsize
def __init__(self,master):
master.minsize(width=666, height=666)
Assurez-vous que votre fenêtre est toujours au moins 666 pixels de large, mais l'utilisateur peut toujours agrandir la fenêtre.
Vous pouvez utiliser:
parentWindow.maxsize(#,#);
parentWindow.minsize(x,x);
Au bas de votre code pour définir la taille de la fenêtre fixe.
Le code ci-dessous fixera root = tk.Tk()
à sa taille avant de s'appeler:
root.resizable(False, False)
Traceback (most recent call last):
File "tkwindowwithlabel5.py", line 23, in <module>
main()
File "tkwindowwithlabel5.py", line 16, in main
window.resizeable(width = True, height =True)
File "/usr/lib/python3.4/tkinter/__init__.py", line 1935, in
__getattr__
return getattr(self.tk, attr)
AttributeError: 'tkapp' object has no attribute 'resizeable'
est ce que vous obtiendrez avec la première réponse. tk supporte les tailles min et max
window.minsize(width = X, height = x)
window.maxsize(width = X, height = x)
je l'ai compris mais j'essayais juste le premier. en utilisant python3 avec tk.
Ceci est une variante d'une solution existante déjà fournie ci-dessus:
import tkinter as tk
root = tk.Tk()
root.resizable(0, 0)
root.mainloop()
L'avantage est que vous tapez moins.