Tkinter教程(每天半小时,3天彻底掌握Tkinter)day1
Tkinter教程(每天半小时,3天彻底掌握Tkinter)day1
目录
Tkinter教程(每天半小时,彻底掌握Tkinter)day1
教程环境
运行系统:win10
开发工具:PyCharm Community Edition 2021.3.1
Tkinter概述
Tkinter(即 tk interface) 是 Python 标准 GUI 库,简称 “Tk”;从本质上来说,它是对 TCL/TK 工具包的一种 Python 接口封装。Tkinter 是 Python 自带的标准库,因此无须另行安装,它支持跨平台运行,不仅可以在 Windows 平台上运行,还支持在 Linux 和 Mac 平台上运行。
Tkinter 编写的程序,也称为 GUI 程序,GUI (Graphical User Interface)指的是“图形用户界面”,它是计算机图形学(CG)的一门分支,主要研究如何在计算机中表示图形,以及利用计算机进行图形的计算、处理和显示等相关工作。
GUI是什么
图形用户界面(Graphical User Interface,简称 GUI),是计算机图形学技术的一种,它一般由窗口、下拉菜单或者对话框等图形化的控件组成。用户通过点击菜单栏、按钮或者弹出对话框的形式来实现与机器的交互,GUI 的存在拉近了人与计算机的的距离,让人机交互的过程变得简单舒适、有温度。
- Python GUI 工具:Tkinter、wxPython、PyQt、PyGTK、Pywin32 等;
这里我们主要针对Tkinter进行讲解。
Tkinter是什么
Tkinter(即 tk interface,简称“Tk”)本质上是对 Tcl/Tk 软件包的 Python 接口封装,它是 Python 官方推荐的 GUI 工具包,属于 Python 自带的标准库模块,当您安装好 Python 后,就可以直接使用它,而无须另行安装。
作为一款 Python GUI 工具,Tkinter 拥有良好的跨平台性,支持 Windows、Linux、Mac 平台,它传承了 Python 语法简洁、代码易读的基本特点。
与其他编程语言的 GUI 工具包相比,Tkinter 编码效率高,能够实现快速开发的目的,非常适合初学者学习。Tkinter 使用纯 Python 语言开发,与 C/C++ 开发的 Qt 框架相比,Tkinter 有自身的局限性,比如性能、功能丰富程度等都不及 Qt,因此它只适合开发一些简单的程序,比如计算器的界面,或者一个简易的聊天窗口等。
Tkinter的弊端
通常情况下不会使用 Tkinter 来开发较为复杂的桌面应用程序,这是由 Python 语言自身特点决定的,作为一种解释型语言和脚本语言,Python 并不具备开发复杂桌面应用的优势。
但“麻雀虽小,五脏俱全”,Tkinter 作为 Python GUI 开发工具之一,它具有 GUI 软件包的必备的常用功能。比如,它提供了十多种不同类型的窗口控件、窗口布局管理器、事件处理机制等,加之其开发效率高、代码简洁易读, Tkinter 自问世以来,备受大家青睐。当您想要制作一个小工具的界面或者比较简单的桌面应用程序时,那么Tkinter 将是一个不错的选择。
第一个Tkinter程序
我们先简单看一下示例,后面在进行具体的分析与讲解。
插入ico
在这个demo里面可以看到我不仅设置了iconbitmap而且还设置了对应的background颜色,并且添加了一个text文本,通常会使用tk.Lable设置,在参数中能看到,bg是北京颜色,fg是文字颜色,font的参数里面是字体设置。依次是字体、字号、样式,bold italic加粗的斜体。
关闭python窗体
这里需要知道command=root_window.quit是关闭窗体,root_window是变量名,根据你自己定义的窗体名称替换即可。
python窗体居中设置
先获取平路的宽度以及高度,在根据咱们自定义的窗体宽高来计算居中。
这里采用800*600是为了后面的操作。因为800*600几乎所有的电脑都不会出现页面溢出,那么咱们根据它来创建一个常用的功能页面,需要啥留下什么,其余的删除,就是我们需要的页面。我们不做复杂的,够用即可。
护眼色_颜色名称_16进制色值_RGB色值
提供了10种比较护眼的颜色,以后在背景颜色设置的时候可以使用到。
1、绿豆沙 #C7EDCC RGB(199, 237, 204)
2、银河白 #FFFFFF RGB(255, 255, 255)
3、杏仁黄 #FAF9DE RGB(250, 249, 222)
4、秋叶褐 #FFF2E2 RGB(255, 242, 226)
5、胭脂红 #FDE6E0 RGB(253, 230, 224)
6、海天蓝 #DCE2F1 RGB(220, 226, 241)
7、葛巾紫 #E9EBFE RGB(233, 235, 254)
8、极光灰 #EAEAEF RGB(234, 234, 239)
9、青草绿 #E3EDCD RGB(227, 237, 205)
10、电脑管家 #CCE8CF RGB(204, 232, 207)
主窗体设置
其实主窗体就是个空的,啥也没有的窗体。我们需要依据窗体的属性以及属性值进行窗体样式的设置。
窗口常用方法
下表列出了窗口的常用方法,其中 window 代表主窗口对象:
函数 | 说明 |
---|---|
window.title("my title") | 接受一个字符串参数,为窗口起一个标题 |
window.resizable() | 是否允许用户拉伸主窗口大小,默认为可更改,当设置为 resizable(0,0)或者resizable(False,False)时不可更改 |
window.geometry() | 设定主窗口的大小以及位置,当参数值为 None 时表示获取窗口的大小和位置信息。 |
window.quit() | 关闭当前窗口 |
window.update() | 刷新当前窗口 |
window.mainloop() | 设置窗口主循环,使窗口循环显示(一直显示,指导窗口被关闭) |
window.iconbitmap() | 设置窗口左上角的图标(图标是.ico文件类型) |
window.config(background ="red") | 设置窗口的背景色为红色,也可以接受 16 进制的颜色值 |
window.minsize(50,50) | 设置窗口被允许调整的最小范围,即宽和高各50 |
window.maxsize(400,400) | 设置窗口被允许调整的最大范围,即宽和高各400 |
window.attributes("-alpha",0.5) | 用来设置窗口的一些属性,比如透明度(-alpha)、是否置顶(-topmost)即将主屏置于其他图标之上、是否全屏(-fullscreen)全屏显示等 |
window.state("normal") | 用来设置窗口的显示状态,参数值 normal(正常显示),icon(最小化),zoomed(最大化), |
window.withdraw() | 用来隐藏主窗口,但不会销毁窗口。 |
window.iconify() | 设置窗口最小化 |
window.deiconify() | 将窗口从隐藏状态还原 |
window.winfo_screenwidth() window.winfo_screenheight() |
获取电脑屏幕的分辨率(尺寸) |
window.winfo_width() window.winfo_height() |
获取窗口的大小,同样也适用于其他控件,但是使用前需要使用 window.update() 刷新屏幕,否则返回值为1 |
window.protocol("协议名",回调函数) | 启用协议处理机制,常用协议有 WN_DELETE_WINDOW,当用户点击关闭窗口时,窗口不会关闭,而是触发回调函数。 |
python获取电脑屏幕的大小
python获取窗口的大小,必须先刷新一下屏幕
由于我没有设置窗口的分辨率,这里读取的200X200代表默认的窗体大小。
python设置窗体不能被拉伸
python背景颜色设置
python设置窗口处于顶层
这样就可以看到置于最顶层了。
python设置窗体透明度
在这里可以看到0.5就是50%的透明度。
第一篇文章就到这里,希望能为大家创造一定的价值。
- 点赞
- 收藏
- 关注作者
评论(0)