GUI全名是Graphical User Interface,即图形用户接口。Tk是一个开放原始码的开发工具,具有跨平台的特性,可以在Linux、Windows、Mac OS等操作系统上执行。这个工具提供许多图形接口,例如菜单(Menu)、按钮(Button)等。目前这个工具已经移植到Python语言,在Python语言中称为tkinter模块。在安装Python时同时也安装了此模块了。在使用前许导入此模块:
from tkinter import *
在Python2中此模块称为Tkinter,在Python3中改为tkinter。
导入tkinter模块后,调用Tk()方法可初始化一个根窗体实例(root window),mainloop()方法可让程序一直执行下去直到点击窗口右上方的关闭钮。
window = Tk() # 这是自行定义的Tk对象名称,也可以取其他名称
window.mainloop() # 放在程序最后一行
title():窗口标题。
geometry('width x height'):窗口的宽与高,单位是像素。
maxsize(width,height):拖动时可以设定窗口最大的宽与高。
resizeable(True, True):可以设定可否更改窗口大小,第一个参数是宽,第二个参数是高,如果要固定窗口大小,参数为False,也可以用0,True可以用1代替。
from tkinter import *
window = Tk()
window.title('The First Window, Xiaogu')
window.geometry('800x640')
window.maxsize(1200, 720)
window.resizable(1, 1)
window.mainloop()
Label()方法可以用于在窗口内建立文字或图形标签,有关图形标签的使用格式为:
Label(父对象, options, ...)
Label()方法的第一个参数是父对象,表示这个标签将建立在哪一个父对象(可想成
父容器或称容器)内。常用到的options参数:
text:标签内容,如果有\n则可以创造多行文字。
width:标签宽度,单位是字符。
height:标签宽度,单位是字符。
bg或background:背景色彩。
fg或froeground:字体色彩。
font():可选择字体与大小。
textvariable:可以设定标签以变量方式显示。
image:标签以图形方式呈现。
bitmap:黑白二值图标,参数值有error、gray75、gray50、gray25、gray12、hourglass、info、questhead、question、warning。
cursor:设置控件实例当鼠标实例光标悬停于其上时所呈现的图形。
relief:默认是relief=flat,可由此控制标签的外框,有选项:
flat(平的)groove(沟槽状边)raised(凸起的)ridge(脊状边缘)sunken(凹陷的)solid(实心的)
justify:在多行文件时最后一行的对齐方式分为LEFT/CENTER/RIGHT(靠左/居中/靠右),预设是居中对齐。
from tkinter import *
window = Tk() # 这是自行定义的Tk对象名称,也可以取其他名称
window.title('The First Window, Xiaogu')
label = Label(window, text='I like tkinter',
bg='blue', fg='red',
font='Verdana 16 bold',
width=25, height=2,
relief='raised')
label.pack() # 包装与定位组件
window.geometry('800x640')
window.maxsize(1200, 720)
window.resizable(1, 1)
window.mainloop() # 放在程序最后一行
pack()方法主要是包装窗口的组件和定位窗口的对象,所以才可以在窗口内见到上述窗口组件,此例窗口组件是标签。
如果此时不设置窗口大小则会只显示标签: