是绑定了 Python 的 Tk GUI 工具集 ,就是Python 包装的Tcl代码,通过内嵌在 Python 解释器内部的 Tcl 解释器实现, Tkinter
的调用转换成 Tcl 命令,然后交给 Tcl 解释器进行解释,实现 Python 的 GUI 界面。
对比Tk和其它语言的绑定,比如 PerlTk ,是直接由 Tk 中的 C 库实现的。
优点:
历史最悠久, Python 事实上的标准 GUI , Python 中使用 Tk GUI 工具集的标准接口,已经包括在标准的 Python Windows 安
装中,著名的 IDLE 就是使用 Tkinter 实现 GUI 的创建的 GUI 简单,学起来和用起来也简单。
附维基百科上的简介:https://en.wikipedia.org/wiki/Tkinter
from tkinter import *
#创建窗口
window=Tk()
#创建标题
window.title("你喜欢我吗?")
#窗口大小和位置(中间为字母x)
window.geometry("380x420")
window.geometry("+500+240")
#window.geometry("380x420+500+240")
#显示窗口(消息循环)
window.mainloop()
#标签控件
label=Label(window,text="hey,小姐姐",font=("微软雅黑",15),fg="red")
#定位 网格布局 pack包 place位置
label.grid(row=0,column=0)
label1=Label(window,text="喜欢我吗?",font=("微软雅黑",30))
#对其方式sticky
label1.grid(row=1,column=1,sticky=E)
#显示文件
photo=PhotoImage(file="cc.png")
imageLabel=Label(window,image=photo)
imageLabel.grid(row=2,columnspan=2)
#按钮控件
but=Button(window,text="喜欢",height=2,width=15,command=Love)
but.grid(row=3,column=0,sticky=W)
but1=Button(window,text="不喜欢",command=unLove)
but1.grid(row=3,column=1,sticky=E)
def Love():
"""点击确定时关闭所有窗口,点击关闭窗口按钮无反应"""
#顶级窗口(和messagebox有区别)
love=Toplevel(window)
love.geometry('300x180+520+260')
love.title("好巧,我也是")
label=Label(love,text="好巧,我也是",font=("微软雅黑",20))
label.pack()
label1=Label(love,text="加个微信吧~~",font=("微软雅黑",20))
label1.pack()
entry=Entry(love,font=("微软雅黑",18))
entry.pack()
btn=Button(love,text="确定",width=10,height=2,command=closeAllWindow)
btn.pack()
love.protocol("WM_DELETE_WINDOW",closelove)
def closelove():
return
def closeunLove():
#messagebox.showinfo("再考虑一下","再考虑一下")
unLove()
def unLove():
"""点击不喜欢时,弹出的窗口。点击好的,退出这个窗口,点击关闭,重新弹出一个窗口"""
unlove=Toplevel(window)
unlove.geometry('300x100+520+260')
unlove.title("再考虑考虑")
label=Label(unlove,text="再考虑考虑",font=("微软雅黑",25))
label.pack()
btn=Button(unlove,text="好的",width=10,height=2,command=unlove.destroy)
btn.pack()
unlove.protocol("WM_DELETE_WINDOW",closeunLove)
from tkinter import messagebox
#用户关闭窗口触发的事件(第一个删除窗口,第二个为函数名,即过程)
window.protocol('WM_DELETE_WINDOW',closeWindow)
def closeWindow():
messagebox.showinfo(title="警告",message="好好回答,不许关闭")