前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试|超好用超简单的Python GUI库——tkinter

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

原创
作者头像
霍格沃兹测试开发Muller老师
发布2023-02-19 11:52:22
1.3K0
发布2023-02-19 11:52:22
举报

前言

如果我们想要使用Python创建一个GUI界面,我们应该使用哪个库?Python有没有实现这个功能的库?

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

基础使用

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

代码语言:python
复制
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 支持参数传入来说设定容器的尺寸。也支持以索引的赋值的方式修改容器的默认属性,比如修改容器的背景颜色。示例代码如下:

代码语言:python
复制
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来添加提示信息。代码如下:

代码语言:python
复制
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同样支持载入图片,如下所示:

代码语言:python
复制
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小程序,敬请期待!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 基础使用
      • 组件使用
        • 添加标签
          • 总结
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档