用3行代码写你的第一个python界面程序

3行代码写第一个python界面程序

  用tkinter代码建立一个窗体,很容易,只要3行代码:

1 from tkinter import *   # 使用 import 导入模块
2 root=Tk()               # 建立一个名为root的窗体
3 root.mainloop()         # 维持住窗体,等待事件的发生

  以上代码中,窗体名 root ,也可以取别的名字,win,car,form5, my_beautiful等等,只要合乎python变量名的要求,其实窗体名,你还可以取中文名称,如:汽车,大象,学校…等等,也是可以的,但不推荐用中文名称。

  第一行导入tkinter模块的代码必须要,同样最后一行代码也不可缺少,缺少最后一行代码,窗体就不能维持住,窗体就不会出现屏幕上,最后这行代码在不同的程序总是放在最后面。圐丿丌

  注意代码里各变量是区别大小写的,Tk() ,其中T是大写,k是小写字母。

  运行上面的代码,只能得到一个默认的大小,默认标题,默认图标的窗体,如下图所示。

 

这样一个默认的窗体肯定不能满足大家的要求,现在我们用几行代码来自定义一个窗体。

自定义标题,大小,图标的窗体

自定义标题:

 root.title('第一个窗体')

自定义图标:

 root.iconbitmap('car.ico')

 注意:必须先准备一个图标,名称叫car,格式是ico,保存到这个py文件的同一个目录里。

自定义窗体尺寸大小:

 root.geometry('300x150')

第一个参数300为宽,第二个参数150为高,中间是小写的字母x

 

在root=Tk() 代码下面加入以上3行代码:

1 from tkinter import *   # 使用 import 导入模块
2 root=Tk()               # 建立一个名为root的窗体
3 root.title('第一个窗体') # 设置窗体的标题
4 root.iconbitmap('car.ico') # 设置窗体的图标
5 root.geometry('300x150') # 设置窗体大小及位置
6 root.mainloop()   # 维持住窗体,等待事件的发生

运行结果:

自定义窗体的显示位置,是否可调整尺寸

这个窗体的标题,图标,大小都是自定义的。但它再现的位置总是默认的位置,即窗体的左上角。我希望它出现的位置也可以自定义,加入下面的代码就可以做到。

 root.geometry('+800+200')

 +800 表示窗体左边界距屏幕最左边为800;

 +200 表示窗体上边界距屏幕最上边为200

其实以上2句代码,可以合并为一句:

 root.geometry('300x150+800+200')

这个窗体是可以调节大小的,有时,我们希望窗体不可以自行调节窗体的大小,以下代码可以让窗体无法调节窗体大小,而且窗体的标题栏上的最大化图标会变为灰。

 root.resizable(False,False)

其中第一个参数False表示窗体宽度不可调节,第二个参数表示高度不可以调节。程序代码及运行结果如下:(很明显,最大化图标变灰,无法操作了)

1 from tkinter import *   # 使用 import 导入模块
2 root=Tk()               # 建立一个名为root的窗体
3 root.title('第一个窗体') # 设置窗体的标题
4 root.iconbitmap('car.ico') # 设置窗体的图标
5 root.geometry('300x150+800+200') # 设置窗体大小及位置
6 root.resizable(False,False)      # 设置窗体尺寸是否可调节
7 root.mainloop()   # 维持住窗体,等待事件的发生

 

  其实你也可以只限制不可以调节宽度,或只限制不可以调节高度。只要将对应参数调整为True就表示可以调节。你也可以为了输入方便,用1代替True,用0代替False

  有时,我们需要窗体置顶,只要一行代码就可以做到。

   root.attributes("-topmost", True)  

  你可以用1代替第二个参数True,运行结果也是一样的,这个窗体可以置顶于所有的普通窗体。

 

  以下是一些跟窗体有关的常用代码,基本上就是一句代码搞定一项功能,大家可以收藏它,以后编程时一定用得着。

  此文章来自:wb98.com 现发布到博客园, 网站还有相关的系列课程文章,感兴趣的的可以前往。

root.minsize(400, 260)      # 设置窗口的最小尺寸,参数为(宽,高)

root.maxsize(750, 650)      # 设置窗口的最大尺寸,参数为(宽,高)

root.state('zoomed')        # 最大化窗口

root.iconify()              # 最小化窗口

root.attributes("-fullscreen", True)     # 全屏,没有标题栏

root.state("iconic")                     # 隐藏窗体

root.withdraw()                          # 隐藏窗体

root.deiconify()                         # 让隐藏的窗体再显现

top1.transient(root)              # 使窗体top1置顶于root窗口上

root.attributes("-alpha",0.8)     #设置窗口透明度,范围为0到1

root.wm_attributes("-transparentcolor", "red") # 设置某种颜色透明

root.overrideredirect(True)       # 无标题栏窗体

root.attributes("-toolwindow", True)    # 标题栏无最大化,最小化

top1.focus_force()                      # 窗体top1得到焦点

top1.grab_set()             # 将top1窗体转化模式窗口

小结一下导入模块的方法

总结一下,由于导入模块写法的不同,代码写法的不同:

第1种方法:(以后的文章,我大部分情况都采取这种方法)

from tkinter import *   # 导入模块写法1

root=Tk()               # 这里写法就比较简单

root.mainloop()         # 维持住窗体,等待事件的发生

第2种方法:

import tkinter          # 导入模块写法2

root=tkinter.Tk()       # 这里就必须加前缀tkinter

root.mainloop()         # 维持住窗体,等待事件的发生

第3种方法:

import tkinter as tk   # 导入模块写法3

root=tk.Tk()           # 用别名tk代替tkinter作前缀

root.mainloop()         # 维持住窗体,等待事件的发生

 

posted @ 2021-11-05 08:59  五笔打字通  阅读(346)  评论(0)    收藏  举报