在不使用OOP的情况下使用GUI

时间:2014-11-10 01:19:08

标签: python user-interface python-3.x tkinter

from tkinter import *
root = Tk()
root.title("Button Counter without OOP")
root.geometry("200x85")
app = Frame(root)
app.grid()
bttn = Button(app)
bttn["text"] = "Total Clicks: 0"
bttn.grid()
bttn_clicks = 0
while True:
    if bttn:
        bttn_clicks += 1
        bttn["text"] = "Total Clicks: " + str(bttn_clicks)
        bttn.grid()

我似乎无法让这个工作。我希望按钮能够计算点击次数而不使用OOP来实现这一点。

1 个答案:

答案 0 :(得分:3)

您需要定义一个回调函数,该函数将在单击按钮时调用,并使用Button对象的command选项将其绑定。

from tkinter import *

bttn_clicks = 0
def on_button_click():
    global bttn_clicks
    bttn_clicks += 1
    bttn["text"] = "Total Clicks: " + str(bttn_clicks)

root = Tk()
root.title("Button Counter without OOP")
root.geometry("200x85")
app = Frame(root)
app.grid()
bttn = Button(app, command=on_button_click)  # <---------
bttn["text"] = "Total Clicks: 0"
bttn.grid()
root.mainloop()