1、前言
在上一篇文章 将Python脚本集成到GUI工具包-Tkinter 里,作者介绍了 Tkinter,并开发了测试参数组合生成器小工具,虽然功能上已经满足了所要的需求,但是页面展示方面很不美观,需要改进一下。
本篇将介绍一款 Tkinter 的超强主题扩展包-ttkbootstrap,用来美化 GUI 界面。
2、简介
Tkinter 的超强主题扩展,可实现受 Bootstrap 启发的按需现代平面风格主题。
如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386
【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。/video/BV17p4y1B77x/?spm_id_from=333.337
特点:
1、内置主题:十几个精心策划的深色和浅色主题。
2、预定义样式:大量漂亮的预定义构件样式,如轮廓和圆形切换按钮。
3、简单的关键字 API:使用简单的关键字(如 primary 和 striped )应用颜色和类型,而不是使用主要的旧方法 。如果您已经使用 Bootstrap 进行 Web 开发,那么您已经熟悉了使用 css 类的这种方法。
4、许多新的小部件:ttkbootstrap 附带了几个设计精美的新小部件,如 Meter,DateEntry 和 Floodgauge。此外,对话框现在具有主题和完全可自定义性。
5、内置主题创建器:想要创建自己的主题?容易!ttkbootstrap 附带一个内置的主题创建器,使您能够轻松构建,加载,浏览和应用自己的自定义主题。
安装:
python -m pip install ttkbootstrap
GitHub地址:
/israel-dryer/ttkbootstrap
3、快速上手
先来一段简单示例,代码如下:
-
#!/usr/bin/env python
-
# -*- coding: utf-8 -*-
-
#
-
-
import ttkbootstrap as ttk
-
from import *
-
-
root = (themename="superhero")
-
-
b1 = (root, text="Submit", bootstyle="success")
-
(side=LEFT, padx=5, pady=10)
-
-
b2 = (root, text="Submit", bootstyle="info-outline")
-
(side=LEFT, padx=5, pady=10)
-
-
()
脚本运行后,弹出界面,从按钮样式可以看出已经美化了。
接下来再来一段示例,代码如下:
-
#!/usr/bin/env python
-
# -*- coding: utf-8 -*-
-
-
import ttkbootstrap as ttk
-
-
root = (title="公众号:AllTests软件测试", themename="flatly", size=(800, 400), resizable=(False, False))
-
# 获取电脑屏幕大小
-
print("电脑分辨率 %dx%d " % (root.winfo_screenwidth(), root.winfo_screenheight()))
-
# 获取窗口大小,必须先刷新一下屏幕
-
()
-
print("窗口分辨率 %dx%d " % (root.winfo_width(), root.winfo_height()))
-
# 设置窗口处于顶层
-
('-topmost', True)
-
# 设置窗口透明度
-
('-alpha', 0.8)
-
# 更改左上角窗口icon图标
-
('C:/Users/wangmeng/Desktop/mytest/')
-
# 添加文本内容
-
(root, text="公众号:AllTests软件测试", bootstyle="inverse-danger", font=('Times', 15, 'bold italic underline')).place(x=160, y=70)
-
# 添加按钮
-
(root, text="关闭", bootstyle="success-outline", command=).place(x=350, y=200, width=120, height=60)
-
# 进入主循环,显示主窗口
-
()
脚本运行后效果,设置了图标、文本、按钮、窗口透明度等。
控制台打印的获取分辨率信息。
4、脚本工具界面美化
如下图,之前已经完成的小工具。
经过代码优化,运行后界面样式如下,可以看出美观了不少,除了可以输出参数组合分组的功能,又新增了对参数全量组合的功能。
输入数据进行运行后,显示结果如下。
导出Excel,分组输出的数据。
导出Excel,全量输出的数据。
导出TXT,分组输出的数据。
导出TXT,全量输出的数据。
提示信息的界面也进行了美化。
没有输入数据,直接点击运行按钮时。
没有运行直接点击导出按钮时。
输入错误数据,点击运行按钮时。
导出Excel成功提示。
导出TXT成功提示。