- Tkinter GUI Programming by Example
- David Love
- 145字
- 2021-08-27 18:49:08
Our first try
Let's give it a try the regular way. Open up your previous code and change it to look like this:
class Window(tk.Tk):
def __init__(self):
super().__init__()
self.title("Hello Tkinter")
self.label_text = "Choose One"
self.label = tk.Label(self, text=self.label_text)
self.label.pack(fill=tk.BOTH, expand=1, padx=100, pady=30)
hello_button = tk.Button(self, text="Say Hello",
command=self.say_hello)
hello_button.pack(side=tk.LEFT, padx=(20, 0), pady=(0, 20))
goodbye_button = tk.Button(self, text="Say Goodbye",
command=self.say_goodbye)
goodbye_button.pack(side=tk.RIGHT, padx=(0, 20), pady=(0, 20))
def say_hello(self):
self.label_text = "Hello World"
def say_goodbye(self):
self.label_text="Goodbye! \n (Closing in 2 seconds)"
self.after(2000, self.destroy)
if __name__ == "__main__":
window = Window()
window.mainloop()
Give this code a whirl and click on your Say Hello button. Nothing happens. Now try your Say Goodbye button. The label will not update, but the window will still close after 2 seconds. This goes to show that the code written is not invalid, but will not behave as we may expect it to.
推薦閱讀
- Developing Mobile Web ArcGIS Applications
- PaaS程序設(shè)計(jì)
- Web Application Development with MEAN
- Data Analysis with Stata
- Java性能權(quán)威指南(第2版)
- 碼上行動(dòng):用ChatGPT學(xué)會(huì)Python編程
- Protocol-Oriented Programming with Swift
- HTML5 APP開發(fā)從入門到精通(微課精編版)
- C語(yǔ)言從入門到精通
- Spring Security Essentials
- Clean Code in C#
- Modern C++ Programming Cookbook
- Webpack實(shí)戰(zhàn):入門、進(jìn)階與調(diào)優(yōu)(第2版)
- Instant jQuery Boilerplate for Plugins
- OpenCV Android Programming By Example