动机强度与解决问题效果呈现倒U型曲线
那么,编写程序,有明显成果,无疑是很大的驱动力。
有位老师讲,他们学生时代学习计算机最大的动力是玩游戏,自己编外挂……
想要自己编写小游戏,学习GUI编程,算是目前学习的动机。
python 提供了多个GUI开发库,Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口.
例一:
from tkinter import * #导入tkinter模块
tk = Tk() #创建一个窗口
btn = Button(tk, text="click me")#创建一个按钮
btn.pack() #pack方法显示
tk.mainloop() # 让根窗口进入事件循环
结果如下:
下面根据资料和结合自己的理解,分析下代码:
1.from tkinter import * #导入tkinter模块
首先需要导入tkinter模块,引用tkinter模块内容
也可以使用
import tkinter 形式
2. tk = Tk() #创建一个窗口
作用: 创建一个窗口,其余的控件都会在这个窗口上面,目前只包含基本的窗口项,没有内容
字面理解是:包含Tk类对象的tk变量
3. btn = Button(tk, text="click me")#创建一个按钮
作用:创建一个按钮
解释:创建窗口的一个子控件–button(按钮),click me 将作为按钮上显示的内容,但是此时按钮不会显示在窗口中。
4. btn.pack() #pack方法显示
作用及理解:用pack方法,使按钮这个控件显示在窗口中,它会让窗口根据文本自动调整自己的大小并且使自己可见。
5. tk.mainloop() # 让窗口进入事件循环
作用:1-4行代码并不会使窗口出现,mainloop()会让Tkinter进入事件循环
说明:
博主刚开始是使用Python系统自带的IDE进行编写的,输入第二行就会出现窗口,使用pack()方法后就会显示控件内容,不需要最后一行,建议都输入此行
但是使用pycharm时,必须有第五行代码,让Tkinter进入事件循环才会显示窗口以及控件内容
hello world
以上的tkinter程序只是一个会点的按钮,点多少下都没有内容,怎么样才能有内容呢
创建函数hello()可以打印文字hello world
然后需要在原本的代码上增加command命令参数,它会让Python在按钮被点击后调用hello函数,每次点击按钮时,shell程序都会出现“hello world”
def hello():
print("hello world")
from tkinter import *
tk = Tk()
btn = Button(tk, text="click me",command=hello)
btn.pack()
tk.mainloop()
博主点了五下,按钮,则显示五个hello world