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

写python界面程序有多种方法,用tkinter代码建立一个窗体,很容易,只要3行代码:

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

以上代码中,窗体名 root ,也可以取别的名字,win,car,form5, my_beautiful等等,只要合乎python变量名的要求,其实窗体名,你还可以取中文名称,如:汽车,大象,学校…等等,也是可以的,但不推荐用中文名称。
  第一行导入tkinter模块的代码必须要,同样最后一行代码也不可缺少,缺少最后一行代码,窗体就不能维持住,窗体就不会出现屏幕上,最后这行代码在不同的程序总是放在最后面。
  注意代码里各变量是区别大小写的,Tk() ,其中T是大写,k是小写字母。
  运行上面的代码,只能得到一个默认的大小,默认标题,默认图标的窗体,如下图所示。


form.PNG

这样一个默认的窗体肯定不能满足大家的要求,现在我们用几行代码来自定义一个窗体。
自定义标题:
 root.title('第一个窗体')
自定义图标:
 root.iconbitmap('car.ico')
注意:必须先准备一个图标,名称叫car,格式是ico,保存到这个py文件的同一个目录里。
自定义大小:
 root.geometry('300x150')
第一个参数300为宽,第二个参数150为高,中间是小写的字母x

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


form2.PNG

这个窗体的标题,图标,大小都是自定义的。但它再现的位置总是默认的位置,即窗体的左上角。我希望它出现的位置也可以自定义,加入下面的代码就可以做到。
root.geometry('+800+200')
 +800 表示窗体左边界距屏幕最左边为800;
 +200 表示窗体上边界距屏幕最上边为200
其实以上2句代码,可以合并为一句:
 root.geometry('300x150+800+200')

这个窗体是可以调节大小的,有时,我们希望窗体不可以自行调节窗体的大小,以下代码可以让窗体无法调节窗体大小,而且窗体的标题栏上的最大化图标会变为灰。
 root.resizable(False,False)
其中第一个参数False表示窗体宽度不可调节,第二个参数表示高度不可以调节。全部代码及运行结果如下:(很明显,最大化图标变灰,无法操作了)

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

其实你也可以只限制不可以调节宽度,或只限制不可以调节高度。只要将对应参数调整为True就表示可以调节。你也可以为了输入方便,用1代替True,用0代替False
有时,我们需要窗体置顶,只要一行代码就可以做到。
 root.attributes("-topmost", True)
你可以用1代替第二个参数True,运行结果也是一样的,这个窗体可以置顶于所有的普通窗体。姭嚞灬
以下是一些跟窗体有关的常用代码,基本上就是一句代码搞定一项功能,大家可以收藏它,以后编程时一定用得着。

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窗体转化模式窗口

此文章来自:wb98.com 网站还有相关的系列课程文章,感兴趣的的可以前往。
总结一下,由于导入模块写法的不同,代码写法的不同:
第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()         # 维持住窗体,等待事件的发生
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容