软件测试|超好用超简单的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小程序,敬请期待!

相关文章
|
2月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
96 20
|
1月前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
66 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
2月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
185 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
1月前
|
人工智能 自然语言处理 程序员
体验通义灵码的AI程序员:用Python+Tkinter实现表单向config.ini写入与读取
本文介绍了如何利用通义灵码的AI程序员快速开发一个基于Python和Tkinter的表单应用程序,实现对config.ini文件的读写。通过简单的自然语言描述,通义灵码能自动生成代码框架、自动补全功能代码,并提供错误检测与修复建议,极大提高了开发效率。开发者只需安装必要库(如configparser)并配置VSCode插件TONGYI Lingma,即可轻松创建包含多个输入项和按钮的表单界面。运行程序后,用户可以编辑表单并保存数据到config.ini文件中,再次启动时数据会自动加载显示。这一过程展示了AI在编程中的高效性和灵活性,为开发者提供了全新的开发方式。
134 3
|
3月前
|
XML JSON 数据库
Python的标准库
Python的标准库
204 77
|
1月前
|
Web App开发 数据采集 数据安全/隐私保护
Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
|
20天前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
20天前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
8天前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
19 4
|
20天前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。

热门文章

最新文章