如何在Python中添加事件按钮?

时间:2016-04-14 03:42:05

标签: python tkinter

我正在研究python中的Tkinker。我对此有疑问。为什么我的eventButton在程序启动时总是自动运行,虽然我没有点击按钮?

class Login_frame(Tkinter.Tk):
    def __init__(self, parent):
        Tkinter.Tk.__init__(self,parent)
        self.parent=parent
        self.initUI()
    def initUI(self):     
        frame1= Frame(self)
        frame1.pack(fill=X)
        lable1 = Label(frame1, text = "Username:", width=10)
        lable1.pack(side = LEFT, padx =5, pady =5)

        entry = Entry(frame1)
        entry.pack(fill=X, padx=5, expand=True)

        frame2 = Frame(self)
        frame2.pack(fill=BOTH)

        lable2 = Label(frame2,text="Password:", width=10)
        lable2.pack(side = LEFT, anchor=N, padx=5, pady=5)
        entry = Entry(frame2,show="*")
        entry.pack(fill=X, padx=5, pady=5)


        frame3=Frame(self)
        frame3.pack(fill=BOTH)

        frame4=Frame(self)
        frame4.pack(fill=BOTH)

        login= Button(frame4, text="Login",command = self.eventButtonLogin())
        login.pack(fill=X,side = LEFT, padx=5, pady=5)
        signup= Button(frame4, text="Sign up")
        signup.pack(fill=X,side = LEFT, padx=5, pady=5)
    def eventButtonLogin(self):
        showinfo(title="alert",message="OK")

app=Login_frame(None)
app.title("Login Frame")
app.mainloop()

2 个答案:

答案 0 :(得分:0)

您需要更换以下行:

/v2.6/{ads-pixel-id}/stats

使用:

login = Button(frame4, text="Login",command=self.eventButtonLogin())
                                                                 ↑↑

换句话说,请删除login = Button(frame4, text="Login",command=self.eventButtonLogin)

因为该行在创建按钮之前调用该方法,而不是将函数本身传递给Button构造函数。

答案 1 :(得分:0)

0