Tkinter教程(每天半小时,3天彻底掌握Tkinter)day1

article/2025/9/24 16:41:41

Tkinter教程(每天半小时,3天彻底掌握Tkinter)day1


目录

Tkinter教程(每天半小时,彻底掌握Tkinter)day1

教程环境

Tkinter概述

GUI是什么

Tkinter是什么

Tkinter的弊端

第一个Tkinter程序

插入ico

关闭python窗体

python窗体居中设置

护眼色_颜色名称_16进制色值_RGB色值

主窗体设置

窗口常用方法

python获取电脑屏幕的大小

python获取窗口的大小,必须先刷新一下屏幕

python设置窗体不能被拉伸

python背景颜色设置

python设置窗口处于顶层

python设置窗体透明度


 

教程环境

运行系统: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 将是一个不错的选择。

python -m tkinter

第一个Tkinter程序

我们先简单看一下示例,后面在进行具体的分析与讲解。

# -*- coding:utf-8 -*-
import tkinter as tk
# 调用Tk()创建主窗口
root_window =tk.Tk()
# 给主窗口起一个名字,也就是窗口的名字
root_window.title("这是我们的第一个tk页面,除了title啥都没设置。")
#开启主循环,让窗口处于显示状态
root_window.mainloop()

插入ico

在这个demo里面可以看到我不仅设置了iconbitmap而且还设置了对应的background颜色,并且添加了一个text文本,通常会使用tk.Lable设置,在参数中能看到,bg是北京颜色,fg是文字颜色,font的参数里面是字体设置。依次是字体、字号、样式,bold italic加粗的斜体。

# -*- coding:utf-8 -*-
import tkinter as tk# 调用Tk()创建主窗口
root_window = tk.Tk()
# 给主窗口起一个名字,也就是窗口的名字
root_window.title("CSDN的ico")
# 设置窗口大小:宽x高,注,此处不能为 "*",必须使用 "x"
root_window.geometry('450x300')
# 更改左上角窗口的的icon图标,加载CSDN复制下来的ico
root_window.iconbitmap('csdn.ico')
# 设置主窗口的背景颜色,颜色值可以是英文单词,或者颜色值的16进制数,除此之外还可以使用Tk内置的颜色常量
root_window["background"] = "#DCE2F1"  # 海天蓝,一种比较护眼的颜色
# 添加文本内,设置字体的前景色和背景色,和字体类型、大小
text = tk.Label(root_window, text="2022创造更多的价值", bg="yellow", fg="red", font=('Times', 20, 'bold italic'))
# 将文本内容放置在主窗口内
text.pack()
# 添加按钮,以及按钮的文本,并通过command 参数设置关闭窗口的功能
button = tk.Button(root_window, text="关闭", command=root_window.quit)
# 将按钮放置在主窗口内
button.pack(side="bottom")# 开启主循环,让窗口处于显示状态
root_window.mainloop()

关闭python窗体

这里需要知道command=root_window.quit是关闭窗体,root_window是变量名,根据你自己定义的窗体名称替换即可。

# 添加按钮,以及按钮的文本,并通过command 参数设置关闭窗口的功能
button = tk.Button(root_window, text="关闭", command=root_window.quit)
# 将按钮放置在主窗口内
button.pack(side="bottom")

python窗体居中设置

screenwidth = root_window.winfo_screenwidth()
screenheight = root_window.winfo_screenheight()
dialog_width = 800
dialog_height = 600
# 前两个参数是窗口的大小,后面两个参数是窗口的位置
root_window.geometry("%dx%d+%d+%d" % (dialog_width, dialog_height, (screenwidth - dialog_width) / 2, (screenheight - dialog_height) / 2))

先获取平路的宽度以及高度,在根据咱们自定义的窗体宽高来计算居中。

这里采用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)

主窗体设置

# 导入tk
from tkinter import *
# 创建一个主窗口对象
window = Tk()
# 调用mainloop()显示主窗口
window.mainloop()

其实主窗体就是个空的,啥也没有的窗体。我们需要依据窗体的属性以及属性值进行窗体样式的设置。 

窗口常用方法

下表列出了窗口的常用方法,其中 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获取电脑屏幕的大小

window.winfo_screenwidth()  # 宽度
window.winfo_screenheight()  # 高度
print("电脑的分辨率是%dx%d" % (window.winfo_screenwidth(), window.winfo_screenheight()))

python获取窗口的大小,必须先刷新一下屏幕

window.update()
print("窗口的分辨率是%dx%d" % (window.winfo_width(), window.winfo_height()))

由于我没有设置窗口的分辨率,这里读取的200X200代表默认的窗体大小。

python设置窗体不能被拉伸

window.resizable(0, 0)

python背景颜色设置

window.config(background="#DCE2F1")

python设置窗口处于顶层

window.attributes('-topmost',True)

这样就可以看到置于最顶层了。 

python设置窗体透明度

window.attributes('-alpha', 1)

在这里可以看到0.5就是50%的透明度。 

第一篇文章就到这里,希望能为大家创造一定的价值。

 


http://chatgpt.dhexx.cn/article/q0xbQXVL.shtml

相关文章

【Python】Tkinter教程

什么是Tkinter? Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。 由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinte…

Tkinter保姆级教程(下)

继上次肝了几天的Tkinter保姆级教程(上),接下来继续肝教程下,冲冲冲。 目录 Scale控件 Canvas画布控件 Menu菜单控件 Scrollbar滚动条控件 Event事件处理 布局管理器(pack,grid,place&am…

Python Tkinter教程(一)——tkinter编程基本步骤、窗口基本属性及Toplevel控件的使用

>>>【上节回顾&#xff1a;Python Tkinter 模块简要介绍】<<< Python Tkinter教程&#xff08;一&#xff09; 这篇博客将详细地介绍如何使用tkinter模块进行简单的GUI编程&#xff08;包括基本步骤、窗口基本属性&#xff09;&#xff0c;同时还会解释如何使…

Tkinter教程

文章目录 Tkinter教程&#xff08;非常详细&#xff09;教程特点阅读条件 GUI是什么GUI发展史GUI应用领域GUI的优势GUI开发工具 Tkinter是什么第一个Tkinter程序1) 主窗口设置2) 添加文本3) 添加按钮4) 独立运行tkinter程序 Tkinter常用控件和属性控件类型控件基本属性 Tkinter…

超全!Tkinter 使用教程!4000字!

人生苦短&#xff0c;快学Python&#xff01; 本期案例是带着大家制作一个属于自己的GUI图形化界面—>用于设计签名的哦(效果如下图)&#xff0c;是不是感觉很好玩&#xff0c;是不是很想学习呢&#xff1f;限于篇幅&#xff0c;今天我们首先详细讲述一下Tkinter的使用方法。…

Openface (三) EYE GAZE 数据集

三维视线估计 1、Eyediap 数据集 &#xff1a;利用深度摄像头标注 RGB 视频中的眼睛中心点位置和乒乓球位置。把这两个位置映射到深度摄像头记录的三维点云中&#xff0c;从而得到对应的三维位置坐标。这两个三维位置坐标相减后即得到视线方向。 https://www.idiap.ch/en/data…

OpenFaceswap 入门教程(1):软件安装篇

众多换脸软件中&#xff0c;DeepFaceLab其实是安装和使用最方便&#xff0c;更新最快的&#xff0c;但是由于其没有可是化界面&#xff0c;对于很新手来说&#xff0c;可能入门还是有点难度。那么今天就来介绍一款操作极其直观和简单的换脸软件OpenFaceSwap。这款软件的安装和使…

「图像处理」使用Python+Openface实现人脸识别与关键点(landmarks)检测

1、如何在Python上安装OpenFace 下载安装 1、首先需要下载OpenFace源码&#xff1a; &#xff08;Anaconda、Git等自行提前安装&#xff09; git clone https://github.com/cmusatyalab/openface.git 2、接着进入openface路径 cd openface 3、执行&#xff1a; pip ins…

openface的导出数据说明

openface的导出数据说明&#xff0c;因为自己使用的时候一个一个翻译起来比较麻烦&#xff0c;就自己弄了一个。 原文GitHub地址&#xff1a;https://github.com/TadasBaltrusaitis/OpenFace/wiki/Command-line-arguments ZD到最后的列&#xff1a;是面部动作编码系统 &#…

【TensorFlow】人脸识别OpenFace、Face-recognition、Insightface和FaceNet源码运行

比较人脸识别OpenFace、Face-recognition、Insightface&#xff1a; FaceNet源码运行 https://github.com/davidsandberg/facenet 1、使用Anaconda安装TensorFlow&#xff1b; 2、更新scipy库&#xff1b; 3、添加os.environ["KMP_DUPLICATE_LIB_OK"]"TRUE&…

windows下OpenFace安装及测试

想使用openface来实现以下视线估计的内容&#xff0c;但是搜了好多都没有具体的使用方案&#xff0c;于是经历了半周&#xff0c;仔细阅读官方文档和参考了一些大佬的经验&#xff0c;终于运行成功了&#xff0c;在此记录一下&#xff0c;嘻嘻 安装 openceface安装官方文档&…

Ubuntu 14.04下openface的环境搭建

如需转载请标明出处&#xff1a;http://blog.csdn.net/itas109 QQ技术交流群&#xff1a;129518033 一、什么是openface&#xff1f; openface是一个基于深度神经网络的开源人脸识别系统。该系统基于谷歌的文章FaceNet: A Unified Embedding for Face Recognition and Clust…

Windows 11 下 OpenFace 2.2.0 的安装

写在前面 最近需要做关于面部的东西&#xff0c;所以需要使用到OpenFace这个工具&#xff0c;本文仅用来记录本人安装过程以供后续复现&#xff0c;如果可以帮助到读者也是非常荣幸。 安装过程 不编译直接使用 这种方法可以直接从官方下载下来编译好的exe以及gui进行使用&a…

Openface人脸识别的原理与过程

Openface人脸识别的原理与过程&#xff1a; https://zhuanlan.zhihu.com/p/24567586 原理可参考如下论文&#xff1a; 《OpenFace: A general-purpose face recognition library with mobile applications》 第一步&#xff1a;找出所有的面孔 我们流水线的第一步是人脸检测。…

openface在pycharm上的安装

1、下载openface相关文件 链接&#xff1a;下载openface:GitHub - cmusatyalab/openface: Face recognition with deep neural networks. 下载后得到一个openface-master的文件夹 2、输入cmd&#xff0c;进入命令提示符&#xff0c;找到自己保存的openface-master文件夹路径。 …

OpenFace使用OpenFace进行人脸识别

1.OpenFace简介 http://cmusatyalab.github.io/openface/ 安装就按照官方教程来就好了 装完各种依赖之后运行一下命令 https://github.com/cmusatyalab/openface.git --recursive cd openface sudo python setup.py install sh modles/get-models.sh 2.素材准备 准备两…

【OpenFace】

OpenFace&#xff1a; http://cmusatyalab.github.io/openface/ 一、什么是Openface&#xff1f; Openface是一个基于深度神经网络的开源人脸识别系统。该系统基于谷歌的文章FaceNet: A Unified Embedding for Face Recognition and Clustering。Openface是卡内基梅隆大学的 B…

OpenFace

OpenFace是一个包含了landmark&#xff0c;head pose&#xff0c;Actionunions&#xff0c;eye gaze等功能&#xff0c;并包含训练和检测所有源码的开源人脸框架&#xff0c;论文为&#xff0c;OpenFace: an open source facial behavior analysis toolkit OpenFace所用到的库包…

win10下openface快速安装与使用

win10下openface快速安装与使用 情况说明环境下载openface下载模型openface的简单使用 情况说明 我发现openface的安装方法五花八门&#xff0c;大多都比较复杂&#xff0c;而openface分很多版本&#xff0c;很多安装教程混在一起&#xff0c;导致我自己安装时下载下混了。 本…

Windows系统下的Openface安装及使用--亲测有效

一、配置openface所需环境 openface主要依赖于opencv和dlib等工具包&#xff0c;工具包安装可winr进入用户终端下载安装&#xff08;需要先下载python&#xff09;&#xff0c;或者下载ananconda&#xff0c;创建anaconda虚拟环境安装&#xff1a; pip install opencv-python…