2017-01-29 2 views
1

Ich habe Probleme mit tkinter. Ich habe Code, der ein neues Fenster beim Drücken der Taste öffnen soll, aber das Fenster öffnet sich nicht.tkinter Button öffnet kein neues Fenster

Hier ist mein Code:

Hauptmodul

#!/usr/bin/python 
#encoding: latin-1 
import tkinter 
import ce 

#window config 
window = tkinter.Tk()     #create window 
window.title("BBDOassist")    #set title 
window.geometry("750x500")    #set size 

… 

# buttons 
button_ce = tkinter.Button(window, text="CE Evaluation", command="ce.run()") 
button_ce.pack() 


window.mainloop()      #draw the window and start 

CE-Modul

#!/usr/bin/python 
#encoding: latin-1 
import tkinter 

… 

def run(): 
    #window config 
    window = tkinter.Tk()         #create window 
    window.title("BBDOassist - CE Evaluation")    #set title 
    window.geometry("750x500")        #set size 

… 

    window.mainloop()         #draw the window and start 

Antwort

1

Sie haben mindestens zwei Probleme

Zuerst Sie mu Geben Sie dem Attribut command einen Verweis auf eine Funktion. Sie übergeben es eine Zeichenfolge. Eine Zeichenfolge ist nutzlos. Sie benötigen eine Schaltfläche Definition, dies zu ändern:

button_ce = tkinter.Button(window, text="CE Evaluation", command=ce.run) 

Zweitens, wenn Sie weitere Fenster erstellen möchten, dann müssen Sie Instanzen von Toplevel erstellen, anstatt Tk. Ein tkinter-Programm benötigt genau eine Instanz von Tk, und Sie müssen mainloop genau einmal aufrufen.

ändern run wie folgt aussehen (und den Anruf zu mainloop innen run entfernen):

def run(): 
    #window config 
    window = tkinter.Toplevel() 
    ...