Boutons Tkinter ne s'affiche pas

Résolu
]Bonjour,
Je programme une appli avec Python et Tkinter, seulement voilà, j'ai mis deux bouton superposés dans la fenêtre (en bas) mais il s'affichent, mais tout juste ; je ne peux pas cliquer dessus
[https://img-19.ccm2.net/ZrYYnKhegHWHJkKEEcORByW-jug=/31e3ca5b590c4f41b7519bddfa9bc1f8/tmp/Annotation_2020-07-31_131017.png
|fancy

4 réponses

  1. Ok, voici le code :

    import tkinter as tk
    from tkinter import filedialog, Text
    import os
    
    root = tk.Tk()
    
    
    def addApp():
        filename= filedialog.askopenfile(initialdir="/", title="Select File",
        filetypes=(("executables","*.exe"), ("all files", "*.*")))
    
    canvas = tk.Canvas(root, height=700, width=700, bg="#263D42")
    canvas.pack()
    
    frame = tk.Frame(root, bg="white")
    frame.place(relwidth=0.8, relheight=0.8, relx=0.1, rely=0.1)
    
    openFile = tk.Button(root, text="Open File", padx=10, 
                         pady=5, fg="white", bg="#263D42", command=addApp)
    openFile.pack()
    
    runApps = tk.Button(root, text="Run Apps", padx=10, 
                         pady=5, fg="white", bg="#263D42")
    runApps.pack()
    
    root.mainloop()
    
    
    1. Bonjour,

      Les boutons sont cachés sous le Canvas ....
      on va dimensionner la fenetre, et le canvas:

      import tkinter as tk
      from tkinter import filedialog
      import os
      
      root = tk.Tk()
      root.title('Test')
      root.geometry('700x550+300+100')
      root.configure(background = 'green')
      
      def addApp():
          filename= filedialog.askopenfile(initialdir="/", title="Select File",
          filetypes=(("executables","*.exe"), ("all files", "*.*")))
      
      canvas = tk.Canvas(root, height=450, width=690, bg="#263D42")
      canvas.pack()
      
      #frame = tk.Frame(root, bg="white")
      #frame.place(relwidth=0.8, relheight=0.8, relx=0.1, rely=0.1)
      
      openFile = tk.Button(root, text="Open File", padx=10, 
                           pady=5, fg="white", bg="#263D42", command=addApp)
      openFile.pack()
      
      runApps = tk.Button(root, text="Run Apps", padx=10, 
                           pady=5, fg="white", bg="#263D42")
      runApps.pack()
      
      root.mainloop()
      
      1. C'est plus propre aussi de mettre d'abord les fonctions

        puis le code principal ...

        De plus, si tu veux vraiment récupérer un nom d'executable, (puis l'executer avec l'autre bouton)

        il faut utiliser filedialog.askopenfilename

        # -*- coding:Latin-1 -*-
        #02/08/2020 11:01:33
        
        import tkinter as tk
        from tkinter import filedialog
        import os
        
        def addApp():
            ''' Selectionne un executable '''
        
            filename= filedialog.askopenfilename(initialdir="/", title="Select File",
            filetypes=(("executables","*.exe"), ("all files", "*.*")))
        
        root = tk.Tk()
        root.title('Test')
        root.geometry('700x550+300+100')
        root.configure(background = 'green')
        
        canvas = tk.Canvas(root, height=450, width=690, bg="#263D42")
        canvas.pack()
        
        openFile = tk.Button(root, text="Open File", padx=10, pady=5, fg="white", bg="#263D42", command=addApp)
        openFile.pack()
        
        runApps = tk.Button(root, text="Run Apps", padx=10, pady=5, fg="white", bg="#263D42")
        runApps.pack()
        
        root.mainloop()