利用python3自带的tkinter(以下简称tk)编写GUI程序,首先第一步就是要编写主窗体的代码,不然没有窗体,我们后续的控件可就无处安放了。
第一步:导入tkinter包,import tkinter as tk
第二步: 建立窗体
win=tk.Tk()#新建主窗体对象,记住win,后面我们的GUI设计都是在win上面实现的
win.title("这是我第一个窗体的标题")#来个窗体标题可好
如下,可以看到,这是一个再简洁不过的窗体了,除了我们加的标题,其他都是自动为我们创建好了,有了基本的最大化,最小化,关闭按钮等,继续
运行起来的效果
我们为win指定一下大小,这样我们就可以在自己规定大小的窗体上布局控件了
win.geometry('800x600+0+0')#参数是一个字符串
运行之后我们可以看到窗体变大了,而且窗体显示的位置在屏幕左上角,看起来不太美观
800x600后的效果
依次来解释参数,800x600 即宽x高,x为小写的英文字母, 第一个+0距离左上角横坐标 第二个+0距离左上角纵坐标
可以看到这样的窗体建立好之后,我们拖动窗体,他的高和宽是可以任意调整的,如果我们的程序是基于800x600布局的,那么这一调整,肯定就破坏了美观性,怎么办?继续看下面
win.resizable(0,0)#窗体大小可调性,分别表示x,y方向的可变性,x表示横坐标即宽,y是纵坐标高
好了这样我们的窗体已经固定住大小了,你会看到窗体的最大化按钮也自动变成了灰色。接下来我们调整一下美观性,让窗体能够居中显示。思路就是先获取屏幕的分辨率,再根据屏幕的宽和高和窗体本身的宽和高做计算,分别得出x,y方向的偏移量即可
获取屏幕分辨率的方法主要有两种:一、通过调用windows api来获取屏幕分辨率 二、直接使用tk提供的函数获取屏幕分辨率。我们采用第二种方法:
screenwidth=win.winfo_screenwidth()
screenheight=win.winfo_screenheight()
计算偏移:
offsetwidth=(screenwidth-800)//2
offsetheight=(screenheight-600-30-30)//2#这里为啥要减去两个30可以思考一下,提示标题栏,任务栏
win.geometry('800x600+'+str(offsetwidth)+'+'+str(offsetheight))#重新布局窗体
今天的窗体内容就这些