Ruddog icon

Commenting Counter steps

Ruddog | PRO | 05/10/17 09:43:35 PM UTC | 0 ⭐ | 362 👁️ | Never ⏰ | []
Python |

2.57 KB

|

None

|

0 👍

/

0 👎

# Click Counter
# Demonstrates binding an event with an event handler
print("Step 0 First line to run")
from tkinter import *
# main
print("Step 1 root =Tk Setup root window")        
root = Tk()
print("Step 2 Setup window title : Click Counter")
root.title("Click Counter")
print("Step 3 Setup : Size root.geometry")
root.geometry("200x50")
 
 
 
class Application(Frame):
    print("Step 4 Next, Entered the : class Application(Frame):")
    print("")
    print("This step is not clear to me?")
    print(""" Normally would see:
        root = Tk()              #This would create the base window
        frame = Frame(root)      #The frame lives in the base window
        frame.pack()             #Places the frame in the window
        BUT we see instead:
        root = Tk()              #This would create the base window
        app = Application(root)  #Not sure what is going on with this line?
                                 #If I had to guess app = frame and
                                 #Application=Frame
                                 #Meaning frame and Frame are not keywords
        class Application(Frame):#Also not sure with this line?
                                 #Understood creating Class from which
                                 #an instance will be created as an object.
                                 #The use of Frame has me confused?
         """)
    def __init__(self, master):
        print("Step 5 Entered : def __init__(self, master):")
        print("Why is .......................^self, master used here?")
        print("""Step 6 Next run : super(Application, self).__init__(master) """)
        super(Application, self).__init__(master)
        self.grid()
        print("Step 7 SET : self_bttn_clicks = 0")
        self.bttn_clicks = 0
        print("Step 8 CALL: self.create_widget()")
        self.create_widget()
    
    
    def update_count(self):
        print("Step 9 Entered : def update_count(self):")
        print("""Step 10 Increase click count and display new total. """)
        self.bttn_clicks += 2
        self.bttn["text"] = "Total Clicks: " + str(self.bttn_clicks)
    
    
    def create_widget(self):
        print("Step 11 Entered : def create_widget(self):")
        print("""Step 12 Create button which displays number of clicks. """)
        self.bttn = Button(self)
        self.bttn["text"]= "Total Clicks: 0"
        self.bttn["command"] = self.update_count
        self.bttn.grid()
 
app = Application(root)
print("Step 13 root_mainloop")
 
root.mainloop()
print("Step 14 root_mainloop")

Comments