学了python之后,很自然会产生要把这个程序打包的需求,但是传统的dos窗口太难看了,我们需要把程序图形化,tkinter就是python自带的一个图形化工具,简单易学,我会开始记录tkinter的学习笔记。
# 导入tkinter
import tkinter as tk
# 定义窗口
#window2 = tk.Tk()
#window2.title('window2')
window = tk.Tk() # Tk是tkinter里的一个窗口对象,把tk定义为tkinter的一个窗口对象,也就是在这个程序里,第一个窗口在后台的名字叫window
window.title('圆滚滚的窗口') #定义窗口前台显示的名字,默认这个名字会展示在窗口的左上角
window.geometry('800x600') # 定义窗口的大小,注意里面的"x",不是乘号键,而是小写字母"x"
# 定义基础组件
'''
有了窗口,现在我们要在窗口上画各种组件了 Label是tkinter里的一个组件对象,命名后,首先必须的是你要定义它属于哪一个窗口
如果没定义,会默认放在定义的第一个窗口里面
涉及到函数参数的概念
'''
label_1 = tk.Label(window,bg='blue',width=15,height=3,text='welcome',fg='white',font=('Arial',18),anchor ='sw')
label_1.pack() # 把labe_1这个控件挂到window这个窗口上面
# 定义label里可用的变量
var = tk.StringVar()
bite = False
def bite_me(): # 这里要讲一下def的基础定义
global bite # 应用到全局变量和局部变量
if bite == False: # 应用到if循环
bite = True
var.set('Catch me:)')
else:
bite = False
var.set('')
label_2 = tk.Label(window,bg='red',width=15,textvariable=var,fg='white',font=('Meiryo',18))
label_2.pack(side='bottom') #把Label_2放到窗口上,同时指定窗口的位置
# 定义按钮组件
button_1 = tk.Button(window,bg = 'white',text='Hit me!',width=10,height=1,command = bite_me)
button_1.pack() #把button_1放到窗口上
# 运行程序呈现窗口
window.mainloop() # 必须的命令,让窗口一直处于刷新状态
# 当程序运行后,可以show一下给window定义大小的geometry如果不适用是什么效果