首页 > 编程语言 >软件测试|超好用超简单的Python GUI库——tkinter

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

时间:2023-02-19 12:33:58浏览次数:38  
标签:tkinter Python frame height width root Frame 软件测试

前言

如果我们想要使用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() 激活根窗口

代码显示效果如下:

软件测试|超好用超简单的Python GUI库——tkinter_赋值

组件使用

当我们需要为窗口中的模块区域创建不同于窗口的主题时,我们应该如何处理呢?我们可以使用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()

代码显示效果如下:

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

添加标签

在窗口中需要为某块区域创建一个“标签”,用于显示提示信息给用户时,我们可以使用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()

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

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()

结果如下图所示:

软件测试|超好用超简单的Python GUI库——tkinter_赋值_04

总结

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


标签:tkinter,Python,frame,height,width,root,Frame,软件测试
From: https://blog.51cto.com/u_15640304/6066687

相关文章

  • 软件测试|教你使用Python实现五子棋游戏(一)
    前言五子棋是我们传统的益智游戏之一,老少皆宜,上手简单,对于锻炼逻辑思维,增强思考能力有很大帮助。那么,我们能不能使用Python来写出五子棋的程序呢,毕竟不是什么时候都有对手和......
  • 软件测试|matplotlib中文不显示的解决方案
    前言当我使用matplotlib结合wordcloud,jieba绘制词云图时,发现我的代码在没有任何报错的情况下,输出的图是下面这样的,我想了很多办法都不顶用,包括改编码方式等等,后面一查,是matp......
  • 软件测试|教你使用Python快速绘制酷炫词云图
    前言词云图现在似乎成了各个互联网产品年终盘点的标准形式,比如我们的热搜,我们QQ音乐网易云音乐最喜欢的歌手最喜欢的歌曲等等,词云图实在是太契合互联网时代了。那么我们能不......
  • 软件测试|测试开发之路--UI 自动化常用设计模式
    接上一次的帖子,今天讲一下我再UI自动化中常用的设计模式。由于网上已经有非常多的文章详细讲解了设计模式的编码实现,所以我今天也就不讲实现细节了。就是讲我也讲不出什......
  • 软件测试|Python数据可视化神器——pyecharts教程(一)
    前言我们都知道百度开源了一个Echarts数据可视化库,支持绘制各种主流的图表。Python在数据分析方面是十分强大的,于是,pyecharts就应运而生了。pyecharts简介及安装pyecharts继......
  • 软件测试|数据可视化神器——pyecharts教程(二)
    前言上篇文章我们介绍了pyecharts的安装和绘制基础的柱状图,本篇文章我们将介绍绘制Map图,很多时候,我们统计数据都会分地区来展示,将数据和地图结合会更加直观,所以,我们今天就来......
  • 软件测试|一文教你Python实现不同数据类型互转
    前言日常工作中,我们有的时候需要将一种类型的数据转换成其他类型的数据,便于我们的操作。字符串与数字类型转换字符串转数字字符串转数字,默认只处理由纯数字组成的字符串。s......
  • 软件测试|一文弄懂Python集合相关操作
    前言集合是Python的基本数据类型,是我们工作中经常会用到的数据类型,Python有一系列关于集合的操作,作为一个Pythoner,我们必须要掌握这些操作。集合的介绍集合是Python的基本数......
  • 软件测试|Python数据可视化神器——pyecharts教程(三)
    前言前面两篇文章我们使用pyecharts绘制了柱状图以及基于地图的热力图等图像,在我们的日常工作中,还有饼状图也是我们经常使用的图像,下面我们来介绍一下使用pyecharts绘制饼状......
  • 软件测试|把datetime拍在沙滩上的pendulum模块
    前言之前我们有一篇文章,使用datetime模块来获取昨天今天明天的日期,不说非常复杂,但还是要说一下,还是有点麻烦。而且datetime模块还有一大缺点,就是对于时区的处理功能不够强大......