web-dev-qa-db-fra.com

Comment rendre une fenêtre Tkinter non redimensionnable?

J'ai besoin d'un script Python qui utilise le module Tkinter pour créer une fenêtre statique (non redimensionnable).

J'ai un script Tkinter assez simple mais je ne veux pas qu'il soit redimensionnable. Comment empêcher une fenêtre Tkinter d'être redimensionnable? Honnêtement, je ne sais pas quoi faire.

Voici mon script:

from tkinter import *
import ctypes, os

def callback():
    active.set(False)
    quitButton.destroy()
    JustGo = Button(root, text=" Keep Going!", command= lambda: KeepGoing())
    JustGo.pack()   
    JustGo.place(x=150, y=110)
    #root.destroy()         # Uncomment this to close the window

def sleep():
    if not active.get(): return
    root.after(1000, sleep)
    timeLeft.set(timeLeft.get()-1)
    timeOutLabel['text'] = "Time Left: " + str(timeLeft.get())  #Update the label
    if timeLeft.get() == 0:                                     #sleep if timeLeft = 0
        os.system("Powercfg -H OFF")
        os.system("rundll32.exe powrprof.dll,SetSuspendState 0,1,0")

def KeepGoing():
    active.set(True)   
    sleep()
    quitButton1 = Button(root, text="do not sleep!", command=callback)
    quitButton1.pack()   
    quitButton1.place(x=150, y=110)

root = Tk()
root.geometry("400x268")
root.title("Alert")
root.configure(background='light blue')

timeLeft = IntVar()
timeLeft.set(10)            # Time in seconds until shutdown

active = BooleanVar()
active.set(True)            # Something to show us that countdown is still going.

label = Label(root, text="ALERT this device will go to sleep soon!",   fg="red")
label.config(font=("Courier", 12))
label.configure(background='light blue')
label.pack()
timeOutLabel = Label(root, text = 'Time left: ' + str(timeLeft.get()),     background='light blue') # Label to show how much time we have left.
timeOutLabel.pack()
quitButton = Button(root, text="do not sleep!", command=callback)
quitButton.pack()   
quitButton.place(x=150, y=110)



root.after(0, sleep)
root.mainloop()  
24
IDK anything

La méthode resizable de la fenêtre racine prend deux paramètres booléens pour décrire si la fenêtre est redimensionnable dans les directions X et Y. Pour le rendre complètement fixe en taille, définissez les deux paramètres sur False:

root.resizable(False, False)
50
Bryan Oakley

Vous pouvez aussi utiliser:

root.resizable(0, 0)

Parce que 0 signifie Faux dans Python 3.

3
Camal Muradov