百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

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...