2012-03-11 103 views
2

我有一个在python中的GUI问题,程序从按钮创建自动执行命令选项。所以我陷入了一个循环。 ''”创建于5 mrt.-2012与Tkinter的Python图形用户界面

@author: Max 
''' 
from Tkinter import * 


class main(Tk): 
    def __init__(self,parent): 
     self.mainWindow() 
    def mainWindow(self): 
     '''Make the main window ''' 
     self.quitAll() 
     self.app = Tk() 
     self.app.title('NMBS application') 
     self.makeAppButtons() 
     self.finish(self.app) 
    def makeAppButtons(self): 
     '''Make all the buttons for the main menu''' 
     button_lijn = Button(self.app, text="Voeg lijnritten toe", command = self.lijnritten()) 
     button_lijn.pack() 
    def finish(self,window): 
     ''' Make the main window''' 
     window.mainloop() 
    def endButton(self,window): 
     '''Make a quit button''' 
     button_back = Button(window,text="Sluiten",command = self.mainWindow()) 
     button_back.pack() 
    def quitAll(self): 
     '''Close all the current windows''' 
     self.lijn_window.quit() 
     self.app.quit() 
    def lijnritten(self): 
     ''' Make the lijnritten window''' 
     self.app.quit() 
     self.lijn_window = Tk() 
     self.lijn_window.title("lijnritten") 
     self.endButton(self.lijn_window) 
     self.finish(self.lijn_window) 
main(None) 
+0

你知道你可以做像'#so'这样的单行注释 - 而不是''''comment'''''? – 2012-03-11 19:58:07

+2

@Alex,他做得很对。该位置的字符串变成函数的帮助文本(“文档字符串”)。 – alexis 2012-03-11 20:06:05

+0

@alexis - 啊,对 - 不知道:) – 2012-03-11 20:11:28

回答

1

当你链接的命令,这样做没有(),所以command=self.action,像这样。另外这条线似乎给你带来一些麻烦self.quitAll() ......不确定你想用它做什么,但那是我的两分钱。

''' 
Created on 5-mrt.-2012 
@author: Max 
''' 
from Tkinter import * 


class main(Tk): 
    def __init__(self,parent): 
     self.mainWindow() 
    def mainWindow(self): 
     '''Make the main window ''' 
     #self.quitAll() 
     self.app = Tk() 
     self.app.title('NMBS application') 
     self.makeAppButtons() 
     self.finish(self.app) 
    def makeAppButtons(self): 
     '''Make all the buttons for the main menu''' 
     button_lijn = Button(self.app, text="Voeg lijnritten toe", command = self.lijnritten) 
     button_lijn.pack() 
    def finish(self,window): 
     ''' Make the main window''' 
     window.mainloop() 
    def endButton(self,window): 
     '''Make a quit button''' 
     button_back = Button(window,text="Sluiten",command = self.mainWindow) 
     button_back.pack() 
    def quitAll(self): 
     '''Close all the current windows''' 
     self.lijn_window.quit() 
     self.app.quit() 
    def lijnritten(self): 
     ''' Make the lijnritten window''' 
     self.app.quit() 
     self.lijn_window = Tk() 
     self.lijn_window.title("lijnritten") 
     self.endButton(self.lijn_window) 
     self.finish(self.lijn_window) 
main(None)