单击按钮时程序运行一次,然后没有

时间:2014-08-29 09:05:20

标签: python tkinter

当我按下按钮时,我运行的代码只工作一次,但之后当我再次按下按钮时没有任何反应。拜托,我是新手所以请耐心等待 下面是我的代码:

from Tkinter import*
import random

class Love:
    def __init__(self):
        window = Tk()
        window.title("Love Calculator")
        window.geometry("300x180")

        frame1 = Frame(window)
        frame1.pack()
        self.lbl = Label(frame1, fg="white", bg = "blue",            text = "Love is Pure" )
        self.lbl2= Label(frame1, fg="White", bg = "red", width="50", text = "are you meant for one another")
        self.lbl3= Label(frame1, fg="white", bg = "green",           text = "Let FIND OUT!!" )
        self.lbl.pack()
        self.lbl2.pack()
        self.lbl3.pack()

        frame2 = Frame(window)
        frame2.pack()
        label  = Label(frame2, text = "Your Name")
        label2 = Label(frame2, text = "Your Lovers name")

        self.msg = StringVar()
        entry1 = Entry(frame2, textvariable = self.msg)

        self.out = StringVar()
        entry2 = Entry(frame2, textvariable = self.out)

        btCalculate=Button(frame2, command=self.processButton, text="Calculate" )
        btClear=Button(    frame2, command=self.clear_textbox, text="Try Another Name" )

        label.grid(       row=1,column=1)          # .GUI-geometry
        label2.grid(      row=2,column=1)
        entry1.grid(      row=1,column=2)
        entry2.grid(      row=2,column=2)
        btCalculate.grid( row=6,column=6,sticky=E)
        btClear.grid(     row=6,column=5)

        window.mainloop()                          # .GUI-control-loop

    def clear_textbox(self,):                      # .CMD callbackHANDLER
        entry1.delete(0, END)
        entry2.delete(0, END)

    def processButton(self):                       # .CMD callbackHANDLER
        example = [ 'Enter a name','are lovers','are admirers','are suppose to marry','are enemies','are secrete lovers','OMG could this be love','Till death do you apart','are crazy lovers','are romantic overs','O feeli wo!','are friends','are lovers','are admirers','are suppose to marry','are enemies','are secrete lovers','Eii OMG could this be love','Till death do you apart','crazy lovers','romantic lovers','O feeli wo!', 'are friends','are lovers','are admirers','are suppose to marry','are enemies','are secrete lovers','OMG, could this be love','Till death do you apart','are crazy lovers','are romantic lovers','O feeli wo!','are friends','are lovers','are admirers','are suppose to marry','are enemies','are secrete lovers','OMG could this be love','Till death do you apart','are crazy lovers','are romantic lovers','O feeli wo!','are friends','are lovers','are admirers','are suppose to marry','are enemies','are secrete lovers','Eii OMG could this be love','Till death do you apart','crazy lovers','romantic lovers','O feeli wo!','are friends','are lovers','are admirers','are suppose to marry','are enemies','are secrete lovers','OMG, could this be love','Till death do you apart','are crazy lovers','are romantic lovers','O feeli wo!','are friends','are lovers','are admirers','are suppose to marry','are enemies','are secrete lovers','OMG could this be love','Till death do you apart','are crazy lovers','are romantic lovers','O feeli wo!','are friends','are lovers','are admirers','are suppose to marry','are enemies','are secrete lovers','Eii OMG could this be love','Till death do you apart','crazy lovers','romantic lovers','O feeli wo!','are friends','are lovers','are admirers','are suppose to marry','are enemies','are secrete lovers','OMG, could this be love','Till death do you apart','are crazy lovers','are romantic lovers','O feeli wo!']
        brief   = [ 'Enter a name','Lovers, who will not allow anything to come between them no matter what,They will eventually get married','They might me admirers although, buh one of them is hiding some emotions, that will one day break his or her heart','Thier marriage will endure and truimph over every trouble, Always together','They are not actually enemies buh, due to one act or a reason they dont wanna be friends for now, buh i bet one day, friendship will be their portion','The Guy is afraid to make a step, the girl think i might be too cheap, they end up leaving their burning desires to the wind, buh hey one day they might make it together in marriage','It depends it might be love, it could also be illusions, so hey becareful','They are Almost at verge of marriage buh could also be very good friends till death do them apart','Crazy as it may seem, they really love each other and nothing will stop them','This guys are romantically bonded, they have sexual desires for each other, buh thats not very helthy, Because it always leads to nothing',' Just like each other and can really be fun, cause they almost like admirers','their friendship will thrive through the storms of life till eternity','Lovers, who will not allow anything to come between them no matter what,They will eventually get married','They might me admirers although, buh one of them is hiding some emotions, that will one day break his or her heart','Thier marriage will endure and truimph over every trouble, Always together','They are not actually enemies buh, due to one act or a reason they dont wanna be friends for now, buh i bet one day, friendship will be their portion','The Guy is afraid to make a step, the girl think i might be too cheap,they end up leaving their burning desires to the wind, buh hey one day they might make it together in marriage','It depends it might be love, it could also be illusions, so hey becareful','They are Almost at verge of marriage buh could also be very good friends till death do them apart','Crazy as it may seem, they really love each other and nothing will stop them','This guys are romantically bonded, they have sexual desires for each other, buh thats not very helthy, Because it always leads to nothing',' Just like each other and can really be fun, cause they almost like admirers','their friendship will thrive through the storms of life till eternity','Lovers, who will not allow anything to come between them no matter what,They will eventually get married','They might me admirers although, buh one of them is hiding some emotions, that will one day break his or her heart','Thier marriage will endure and truimph over every trouble, Always together','They are not actually enemies buh, due to one act or a reason they dont wanna be friends for now, buh i bet one day, friendship will be their portion','The Guy is afraid to make a step, the girl think i might be too cheap,they end up leaving their burning desires to the wind, buh hey one day they might make it together in marriage','It depends it might be love, it could also be illusions, so hey becareful','They are Almost at verge of marriage buh could also be very good friends till death do them apart','Crazy as it may seem, they really love each other and nothing will stop them','This guys are romantically bonded, they have sexual desires for each other, buh thats not very helthy, Because it always leads to nothing',' Just like each other and can really be fun, cause they almost like admirers','their friendship will thrive through the storms of life till eternity','Lovers, who will not allow anything to come between them no matter what,They will eventually get married','They might me admirers although, buh one of them is hiding some emotions, that will one day break his or her heart','Thier marriage will endure and truimph over every trouble, Always together','They are not actually enemies buh, due to one act or a reason they dont wanna be friends for now, buh i bet one day, friendship will be their portion','The Guy is afraid to make a step, the girl think i might be too cheap, they end up leaving their burning desires to the wind, buh hey one day they might make it together in marriage','It depends it might be love, it could also be illusions, so hey becareful','They are Almost at verge of marriage buh could also be very good friends till death do them apart','Crazy as it may seem, they really love each other and nothing will stop them','This guys are romantically bonded, they have sexual desires for each other, buh thats not very helthy, Because it always leads to nothing',' Just like each other and can really be fun, cause they almost like admirers','their friendship will thrive through the storms of life till eternity','Lovers, who will not allow anything to come between them no matter what,They will eventually get married','They might me admirers although, buh one of them is hiding some emotions, that will one day break his or her heart','Thier marriage will endure and truimph over every trouble, Always together','They are not actually enemies buh, due to one act or a reason they dont wanna be friends for now, buh i bet one day, friendship will be their portion','The Guy is afraid to make a step, the girl think i might be too cheap,they end up leaving their burning desires to the wind, buh hey one day they might make it together in marriage','It depends it might be love, it could also be illusions, so hey becareful','They are Almost at verge of marriage buh could also be very good friends till death do them apart','Crazy as it may seem, they really love each other and nothing will stop them','This guys are romantically bonded, they have sexual desires for each other, buh thats not very helthy, Because it always leads to nothing',' Just like each other and can really be fun, cause they almost like admirers','their friendship will thrive through the storms of life till eternity','Lovers, who will not allow anything to come between them no matter what,They will eventually get married','They might me admirers although, buh one of them is hiding some emotions, that will one day break his or her heart','Thier marriage will endure and truimph over every trouble, Always together','They are not actually enemies buh, due to one act or a reason they dont wanna be friends for now, buh i bet one day, friendship will be their portion','The Guy is afraid to make a step, the girl think i might be too cheap,they end up leaving their burning desires to the wind, buh hey one day they might make it together in marriage','It depends it might be love, it could also be illusions, so hey becareful','They are Almost at verge of marriage buh could also be very good friends till death do them apart','Crazy as it may seem, they really love each other and nothing will stop them','This guys are romantically bonded, they have sexual desires for each other, buh thats not very helthy, Because it always leads to nothing',' Just like each other and can really be fun, cause they almost like admirers','their friendship will thrive through the storms of life till eternity','Lovers, who will not allow anything to come between them no matter what,They will eventually get married','They might me admirers although, buh one of them is hiding some emotions, that will one day break his or her heart','Thier marriage will endure and truimph over every trouble, Always together','They are not actually enemies buh, due to one act or a reason they dont wanna be friends for now, buh i bet one day, friendship will be their portion','The Guy is afraid to make a step, the girl think i might be too cheap, they end up leaving their burning desires to the wind, buh hey one day they might make it together in marriage','It depends it might be love, it could also be illusions, so hey becareful','They are Almost at verge of marriage buh could also be very good friends till death do them apart','Crazy as it may seem, they really love each other and nothing will stop them','This guys are romantically bonded, they have sexual desires for each other, buh thats not very helthy, Because it always leads to nothing',' Just like each other and can really be fun, cause they almost like admirers','their friendship will thrive through the storms of life till eternity','Lovers, who will not allow anything to come between them no matter what,They will eventually get married','They might me admirers although, buh one of them is hiding some emotions, that will one day break his or her heart','Thier marriage will endure and truimph over every trouble, Always together','They are not actually enemies buh, due to one act or a reason they dont wanna be friends for now, buh i bet one day, friendship will be their portion','The Guy is afraid to make a step, the girl think i might be too cheap,they end up leaving their burning desires to the wind, buh hey one day they might make it together in marriage','It depends it might be love, it could also be illusions, so hey becareful','They are Almost at verge of marriage buh could also be very good friends till death do them apart','Crazy as it may seem, they really love each other and nothing will stop them','This guys are romantically bonded, they have sexual desires for each other, buh thats not very helthy, Because it always leads to nothing',' Just like each other and can really be fun, cause they almost like admirers','their friendship will thrive through the storms of life till eternity','Lovers, who will not allow anything to come between them no matter what,They will eventually get married','They might me admirers although, buh one of them is hiding some emotions, that will one day break his or her heart','Thier marriage will endure and truimph over every trouble, Always together','They are not actually enemies buh, due to one act or a reason they dont wanna be friends for now, buh i bet one day, friendship will be their portion','The Guy is afraid to make a step, the girl think i might be too cheap,they end up leaving their burning desires to the wind, buh hey one day they might make it together in marriage','It depends it might be love, it could also be illusions, so hey becareful','They are Almost at verge of marriage buh could also be very good friends till death do them apart','Crazy as it may seem, they really love each other and nothing will stop them','This guys are romantically bonded, they have sexual desires for each other, buh thats not very helthy, Because it always leads to nothing',' Just like each other and can really be fun, cause they almost like admirers']
                                                   # .SET <brief> a smarter way ( original post was a longest list on screen as an example "ever-seen", be a bit more polite, sir
        self.out   = str(self.out)
        self.msg   = str(self.msg)
        Len1       = len(self.out)
        Len2       = len(self.msg)
        Len        = (Len2+Len1)-3
        self.out   = example[Len]
        self.msg   = brief[Len]
        Percentage = "You're",random.randint(20,100),"% in love"

        Percentage = str(Percentage)
        self.lbl[ "text"]="You are",self.out
        self.lbl2["text"]= self.msg
        self.lbl3["text"]= Percentage

        return;


Love()

1 个答案:

答案 0 :(得分:2)

根据我的测试,它正在运行多次。问题似乎是你在第一次运行时计算Len为11,然后每次计算77。这是因为你正在从MESSAGE框中计算Len1和Len2,而不是从ENTRY框中计算,并且消息11(友谊通过永恒的风暴努力)完全是正确的字母数,以便在再次计算时使其指向自身。

您可以通过替换

来解决此问题
    self.out=str(self.out)
    self.msg=str(self.msg)
    Len1 = len(self.out)
    Len2 =len(self.msg)

    entry1str=self.entry1.get()
    entry2str=self.entry2.get()
    Len1 = len(entry1str)
    Len2 =len(entry2str)

此外,虽然我在这里,但您需要在大多数使用过entry1和entry2的地方使用self.entry1和self.entry2,否则这些框无法正确清除。

希望有所帮助!