软件测试|超好用超简单的Python GUI库——tkinter

简介: 软件测试|超好用超简单的Python GUI库——tkinter

前言

如果我们想要使用Python创建一个GUI界面,我们应该使用哪个库?Python有没有实现这个功能的库?
答案是肯定的,Python的库这么多,肯定有实现上述功能的库,那么我们应该使用哪一个库呢?我们这里推荐使用Python内置的一个库——tkinter。该模块以 Tcl/tk 作为接口,提供了大量的 GUI 支持。如果想要创建一个美观地、符合操作系统平台的 GUI,推荐使用主题化的模块 tkinter.ttk。

基础使用

首先我们来看一个简单的例子,通过简单示例来介绍一下tkinter的使用。代码如下:

from tkinter import Tk
root = Tk()
root.title("拜仁慕尼黑")
root.geometry("400x400+200+200")
root.mainloop()
  • Tk() 实例创建一个根窗口
  • root.title 设定窗口的标题
  • root.geometry 设定窗口的大小与相对于屏幕左上角的位置:即参数形式是:f"{width}x{height}{x}{y}",其中 width 与 height 均是正整数,而 x 与 y 是有符号的整数,比如 +23 或者 -23。其中 + 表示相对于左上角,而 - 表示相对于右下角
  • 使用 root.mainloop() 激活根窗口

代码显示效果如下:

在这里插入图片描述

组件使用

当我们需要为窗口中的模块区域创建不同于窗口的主题时,我们应该如何处理呢?我们可以使用Frame来实现我们的需求,Frame 支持参数传入来说设定容器的尺寸。也支持以索引的赋值的方式修改容器的默认属性,比如修改容器的背景颜色。示例代码如下:

from tkinter import Tk, Frame
root = Tk()
root.title("拜仁慕尼黑")
width = 400
height = 400
x = '+200'
y = '+200'
root.geometry(f"{width}x{height}{x}{y}")
frame = Frame(root, height=height, width=width)
frame['background'] = 'orange' # 设定背景颜色
frame.pack()  # 放置组件
root.mainloop()
  • Frame 支持参数传入来说设定容器的尺寸,也支持以索引的赋值的方式修改容器的默认属性。比如,此例中修改了背景颜色,将背景颜色修改为橙色。
  • tkinter 为小部件(包括容器)提供了几何管理器(用于布局小部件的摆放位置) Grid、Place、Place,且每个小部件均提供几何管理器的实例方法,比如 frame.pack()

代码显示效果如下:
在这里插入图片描述

添加标签

在窗口中需要为某块区域创建一个“标签”,用于显示提示信息给用户时,我们可以使用label来添加提示信息。代码如下:

from tkinter import Tk, Frame, Label
root = Tk()
root.title("MyApp")
root['background'] = 'yellow'  # 修改根窗口的背景
width = 400
height = 400
x = '+200'
y = '+200'
root.geometry(f"{width}x{height}{x}{y}")
frame = Frame(root, height=height, width=width)
frame['background'] = 'red' # 设定背景颜色
frame.pack()
label = Label(root, text="Player")
label['background'] = 'blue' # 设定背景颜色
label.pack()
root.mainloop()

在这里插入图片描述

label同样支持载入图片,如下所示:

from tkinter import Tk, Frame, Label, PhotoImage

root = Tk()
root.title("拜仁慕尼黑")
root['background'] = 'yellow'  # 修改根窗口的背景
width = 400
height = 400
x = '+200'
y = '+200'
root.geometry(f"{width}x{height}{x}{y}")
frame = Frame(root, height=height, width=width)
frame['background'] = 'red' # 设定背景颜色
frame.pack()
image = PhotoImage(file = 'bayern.png')
label = Label(root, image=image)
label.pack()
root.mainloop()

结果如下图所示:

在这里插入图片描述

总结

本文主要介绍了tkinter库的一些基本使用,需要提醒大家的是,Python3.x版本的库名为tkinter,Python2.x版本的库名为Tkinter。后面我会将会使用tkinter编写一些有趣的GUI小程序,敬请期待!

相关文章
|
3月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
531 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
3月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
264 0
|
2月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
268 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
2月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
339 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
288 18
|
4月前
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
417 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
4月前
|
存储 监控 安全
Python剪贴板监控实战:clipboard-monitor库的深度解析与扩展应用
本文介绍了基于Python的剪贴板监控技术,结合clipboard-monitor库实现高效、安全的数据追踪。内容涵盖技术选型、核心功能开发、性能优化及实战应用,适用于安全审计、自动化办公等场景,助力提升数据管理效率与安全性。
197 0
|
11月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
6月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1049 23
|
8月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
1272 24

推荐镜像

更多