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()
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. –
, 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
Es gibt fünf weitere nicht-funktionierenden Tasten und ihre Packung Aussagen, dass ich es ausgeschnitten, um leichter zu lesen. ich bin 3.5 –