使用 tkinter 在 python 中调整窗口大小时,让我的文本和按钮不动

问题描述 投票:0回答:0

我想知道如何使我的文本和按钮在调整窗口大小时不会移动! 我想不通,这真的很烦人,因为我无法将它们正确地放置在我想要的位置,因为在窗口的每个分辨率下它们都会不同。

目前,我找到了一个解决方案,即在窗口打开时强制全屏。然而,当我做其他项目时,它已经多次成为我的问题。

这是我针对这个特定窗口的全部代码:

# Crée la fenêtre des paramètres du démineur
def parDemineur():

    parfenetre = Tk()    
    
    #Assigne pour titre à la fenêtre "Paramètres du Jeu du Démineur"
    parfenetre.title("Paramètres du Jeu du démineur") 
    
    #Image du démineur
    img = ImageTk.PhotoImage(master=parfenetre, file='ParDemineur.png')

    #Affiche l'image
    label = Label(parfenetre, image = img)
    label.pack()

    #Change la taille afin que la fenêtre puisse tout afficher
    parfenetre.minsize(400, 900)
    parfenetre.maxsize(400, 400)

    # Gère la création de la fenêtre avec sa largeur, sa hauteur, son fond)
    canvas = Canvas(parfenetre , width =750, height=500 , background='white')
    canvas.pack()
    
    #Place la fenêtre au centre de l'écran
    parfenetre.eval('tk::PlaceWindow . center')
    
    # Utilise CTkButton à la place du bouton de Tkinter, permettant plus de personnalisation. Le bouton une fois appuyé, permet de fermer la fenêtre des paramètres.
    boutonstart = customtkinter.CTkButton(master=parfenetre, text="Commencer à jouer !", font=("helvetica", 20, "bold"), command=parfenetre.destroy)
    
    #Situe le bouton dans la fenêtre ainsi que sa taille
    boutonstart.place(relx=0.5, rely=0.9,relheight=0.125, relwidth=0.3, anchor=CENTER)

    # Utilise CTkButton à la place du bouton de Tkinter, permettant plus de personnalisation. Le bouton une fois appuyé, permet de fermer la fenêtre des paramètres.
    boutonstart = customtkinter.CTkButton(master=parfenetre, text="Quitter",fg_color="red", font=("helvetica", 20, "bold"), command=parfenetre.destroy)
    
    #Situe le bouton dans la fenêtre ainsi que sa taille
    boutonstart.place(relx=0.94, rely=0.08,relheight=0.05, relwidth=0.08, anchor=CENTER)

    #Affiche le texte de prévention avec ses caractéristiques
    ContenuPar = Label(parfenetre, text="Choix de Difficulté :", font=("helvetica", 10))
 
    #Gère la position du message de difficulté
    ContenuPar.place(relx=0.35, rely=0.35, anchor=CENTER)   
 
    #Force la fenêtre à être ouverte en pleine écran
    parfenetre.attributes('-fullscreen', True)

    # Attend que la fenêtre se ferme pour continuer le code
    parfenetre.wait_window(parfenetre)

parDemineur()
python tkinter text window sticky
© www.soinside.com 2019 - 2024. All rights reserved.