2016-06-24 6 views
0

私の二次ウィンドウのボタンのコマンドは、一次ウィンドウが開くとすぐに実行されます。私は他の関連する答えを見て、関数オブジェクトを渡すだけです。私はラムダを試したことがありますが、私は何も引数を渡していません。 GUIの初心者。ヘルプをよろしくお願いいたします。以下のコード:ボタンを押さずに実行するPython Guiボタンコマンド。唯一の関数を渡してラムダを試した

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

上記のコードを実行すると(run_payrollを擬似的に実行しても、ボタンに関連付けられたコマンドはただちに実行されません)、コードに何も表示されず、属性エラーが発生します。 –

+0

あなたが実行しているPythonのバージョンは...私がテストしたときには発生しません....すべてのコードを表示していますか? – danidee

+0

あります私が実行している3.5 –

答えて

0

私は、このモジュールをデバッグするために使用されたファイルの一番下にある実行文を持っていました。それはすぐに実行されました。私はそれが輸入声明なしでうまくいったと言った人々のおかげでそれを見つけただけです。

関連する問題