Python tkinter 学习笔记(一):父窗体和标签控件
liuian 2025-06-10 16:27 8 浏览
‘Python tkinter’是Python自带的GUI工具包,非常适合开发小型的GUI应用。
最近使用‘tkinter’开发了一些自己日常使用的小工具,效果不错,于是把开发过程中学习到的一些’tkinter‘相关知识整理成笔记,分享给大家。
当然,我也还只是个初学者,欢迎讨论、互相学习。
主窗体
使用tkinter模块的‘Tk()’函数创建一个窗体,这个窗体后续作为各个控件的父窗体。
- title(text=None)函数:
设置窗体的标题。
- geometry('wxh±x±y'):设置窗口的大小及位置
[w]:‘width’ — 窗口的宽度,单位为像素。
[h]:‘height’ — 窗口的高度,单位为像素。
[±x]:
‘+x’ — 窗口左侧距离桌面左侧‘x’像素;
‘-x’ — 窗口右侧距离桌面右侧‘x’像素。
[±y]:
‘+y’ — 窗口上沿距离桌面上沿‘y’像素;
‘-y’ — 窗口下沿距离桌面下沿‘y’像素。
- resizable(width=None, height=None): 控制窗口是否调整大小。
[width]:True/False — 可以/不可以横向调整大小。
[height]:True/False — 可以/不可以纵向调整大小。
- mainloop(): 进入事件循环——在所有控件创建完成后调用。
标签——Label:
“标签”应该是最简单的一个控件了,经常用于展示一行或多行文本(也可以展示图片)。
- 构造函数
tk.Label(parent, option, ...)
可设置的属性(option)包括(但不限于):
[text]:标签展示的文本。
[font]:设定字体。使用tkinter的font模块,字体包含以下属性:
family:可以使用函数‘font.families()'显示所有字体。
size:字体大小。
weight: ‘bold’ - 加粗, ‘normal’ - 不加粗(默认)。
slant:‘italic’ - 倾斜, ‘roman’ - 不倾斜(默认)。
underline:1 - 带下划线, 0 - 不带下划线(默认)。
[anchor]:文本对齐方式。tkinter定义了一些常量,用于控制文本在控件中的位置:
[bg(background)]:设置背景色。
颜色可以使用下面的4位、8位或12位‘RGB’数字组合的方式指定,也可以使用标准的颜色名字,如‘green’, ‘blue’等。
PS:对于控件的属性,除了在构造时通过构造函数指定,还可以在后续使用['option'] = 'xxxx'的方式进行设置——相对于在构造函数中设定属性值,可以使用这种方式在程序执行过程中动态调整控件的属性。
- grid(ipadx=, ipady=, padx=, pady=, ...)函数:
显示控件——如果不调用这个函数,控件对象虽然生成了,但不会显示出来。
[ipadx]:横向内边距——文本与标签控件左右两边的距离。
[ipady]:纵向内边距——文本与标签控件上下两边的距离。
[padx]:横向外边距——标签控件与父窗口左右两边的距离。
[pady]:纵向外边距——标签控件与父窗口上下两边的距离。
PS:还有‘row’、‘column’、‘rowspan’、‘columnspan’等参数控制控件在父窗体中的位置。
import tkinter as tk
from tkinter import font
if __name__ == '__main__':
win = tk.Tk()
win.title('*** Python tkinter ****')
win.geometry('300x400+600+100')
win.resizable(width=True, height=False)
#print(font.families())
lb_font = font.Font(family='Courier', name='lb_font', size=20, weight='bold', slant='italic', underline=1)
lbl1 = tk.Label(win, font=lb_font, text='标签-1', anchor=tk.CENTER, bg='#0f0')
lbl1.grid(ipadx=10, ipady=10, padx=50, pady=50)
lbl1['text'] = '你好'
win.mainloop()
相关推荐
- Python处理文件系统路径,pathlib库使用
-
pathlib是Python3.4及以后版本中的一个内置类库,它提供了一种简单而直观的方式来处理文件系统路径,同时也能够轻松地处理各种不同类型的路径。在本教程中,我们将介绍如何使用pathlib类库来...
- Python目录与文件操作教程(python文件目录结构)
-
大家好,我是ICodeWR。今天要记录的是如何使用Python进行常见的目录和文件操作。Python提供了强大的内置模块来处理文件和目录操作。1.基本模块介绍Python中主要使用以下模块进行文件...
- Python文件操作(python文件操作菜鸟教程)
-
文件编码编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容。计算机中有许多可用编码:UTF-8、GBK、Big5等。不同的编码,将内容翻译成二进制也是不同的。编码有...
- python中文件读写操作最佳实践——使用 os.path 进行路径操作
-
在Python中处理文件路径时,使用os.path模块比直接使用字符串拼接更加安全、可靠且跨平台。下面我将详细解释为什么以及如何使用os.path进行路径操作。为什么不应该使用字符串拼接?#不推荐的...
- Python中列出目录下所有文件的方法
-
技术背景在Python编程中,经常需要列出目录下的所有文件,根据不同的需求,可能只需要列出当前目录下的文件,也可能需要递归列出子目录下的所有文件。Python提供了多种方法来实现这一功能,下面将详细介...
- Python文件及目录处理方法(python列出目录下文件)
-
Python可以用于处理文本文件和二进制文件,比如创建文件、读写文件等操作。本文介绍Python处理目录以及文件的相关方法。下面先来介绍python目录处理相关方法。目录操作1.获取当前代码路径te...
- Python路径操作的一些基础方法(python 程序路径)
-
带你走进@机器人时代Discover点击上面蓝色文字,关注我们Python自动化操作文件避开不了路径操作方法,今天我们来学习一下路径操作的一些基础。Pathlib库模块提供的路径操作包括路径的...
- Python如何获取当前文件所在目录的完整路径
-
在编程的过程中,我们常常会遇到需要获取当前文件所在目录完整路径的需求。那具体该怎么做呢?这是在众多开发者群体中备受关注的一个问题,就像在问答平台上“/questions/3430372/how-d...
- AI超助:打造第一个Python应用(6)(python ai软件)
-
即然已定确定时间节点,倒计时。期间还有个中秋节,便得排好了日程,这段时间得紧着点。打开pycharm就好似在用点金术。调试python,就好似用各种食材准备一道大餐。照例每天碰到疑难,照例每天遇到欣...
- 我在iPad上装了个IDEA,撸了个SpringBoot项目
-
刚开发的哥们儿都知道,系统上线后,如果有bug,领导会第一时间打电话过来,半夜也得起来改bug,随时随地改bug就是程序员的日常,这就导致很多程序下班后必须背着电脑挤地铁,随时候着,拖着疲惫的身体再扛...
- 用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek
-
作者:小鱼引言通义灵码是我一直使用的编码协助工具,我也愿称之为国内程序员的”饭搭子”。通义灵码,作为国内首个AI程序员,从最开始的内测到公测,再到通义灵码正式发布第一时间使用,再到后来使用企业定...
- 初识C语言:简介、环境搭建、第一个HelloWorld
-
一、本系列文章简介什么是C语言C语言之父C语言的由来C语言的发展为什么要学C语言/能做什么为什么要学习这套C语言本套课程适用人群本套笔记介绍二、C语言标准2.1标准简史1.1972年C语言在尔实验...
- 5款工具,让你轻松创建并分享优美的项目源码
-
作为一名开发人员,经常会遇到一些分享和展示代码的需求。例如,在博客分享知识时、请教别人编码方面问题时,都需要用到代码的展示与分享。对于我来说感受最为强烈的就是分享知识时,作为一名IT技术方面的分享者,...
- 风变编程-python基础语法-第17关用python发邮件
-
复习一下上一关的内容,模块的相关知识,以及学习模块的方法(2图)得了,我们可以开始今天的项目实操了1.明确项目目标这一关的主题,其实最早是来源于往期学员的一个问题:学员小贾是一名外贸人员,每到了节...
- 如何在Eclipse中配置Python开发环境?
-
Eclipse是著名的跨平台集成开发环境(IDE),最初主要用来Java语言开发。但是我们通过安装不同的插件Eclipse可以支持不同的计算机语言。比如说,我们可以通过安装PyDev插件,使Eclip...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
python使用fitz模块提取pdf中的图片
-
《人人译客》如何规划你的移动电商网站(2)
-
Jupyterhub安装教程 jupyter怎么安装包
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- uniapp textarea (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)