2016-06-24 4 views
0

Der Befehl für meine Taste auf mein zweites Fenster, sobald das primäre Fenster geöffnet wird, ausgeführt wird. Ich habe andere ähnliche Antworten gesehen und übergebe nur das Funktionsobjekt. Ich habe auch Lambda probiert, obwohl ich keine Argumente übergebe. Neu bei GUIs. Schätze die Hilfe. Code unten:Python Gui Button-Befehl, der ohne Knopfdruck ausgeführt wird. Nur vorbei Funktion und haben versucht, Lambda

import tkinter 
from src.accounting import runpayroll 


class TopGUI: 
    def __init__(self): 
     self.main_window = tkinter.Tk() 
     self.main_window.geometry('300x250+500+200') 

     self.frame = tkinter.Frame(self.main_window) 

     self.labelspace = tkinter.Label(self.frame, text='') 
     self.label = tkinter.Label(self.frame, text='What would you like to do?') 
     self.labelspace2 = tkinter.Label(self.frame, text='') 

     self.process_payroll_button = tkinter.Button(self.frame, width='25', bg='white', text='Process payroll', command=self.process_payroll_gui) 

     self.frame.pack() 
     self.labelspace.pack() 
     self.label.pack() 
     self.labelspace2.pack() 
     self.process_payroll_button.pack() 

     tkinter.mainloop() 

    def process_payroll_gui(self): 
     self.additional_window = tkinter.Toplevel() 
     self.additional_window.geometry('300x250+500+200') 

     self.run_payroll_button = tkinter.Button(self.additional_window, width='25', bg='white', text='Run payroll', command=runpayroll.run_payroll) 
     self.run_payroll_button.pack() 
     self.run_payroll_button.place(x=60, y=80) 

topgui = TopGUI() 
+0

Wenn ich führen Sie den obigen Code (nach spöttisch aus 'run_payroll', es _nicht_ sofort die der Schaltfläche zugeordnete Befehl ausführen, und ich sehe nichts in dem Code, dass verursachen könnte. Ich ein Attribut Fehler, aber das ist ein anderes Problem als die über Sie fragen. –

+0

, welche Version von python laufen Sie ... geschieht nicht auf 3.4, wenn ich getestet .... sind Sie sicher, dass Sie zeigt uns den gesamten Code? – danidee

+0

Es gibt fünf weitere nicht-funktionierenden Tasten und ihre Packung Aussagen, dass ich es ausgeschnitten, um leichter zu lesen. ich bin 3.5 –

Antwort

0

Es stellt sich heraus, dass ich am Ende der Datei eine Ausführungs Aussage hatte ich den Import wurde, dass für das Debuggen dieses Modul verwendet wurde. Es wurde sofort ausgeführt. Ich fand es nur dank denen, die sagten, dass es ohne die Import-Erklärung gut geklappt hat.