公共用例库计划--个人版(二)主体界面设计

1、任务概述

计划内容:完成公共用例库的开发实施工作,包括需求分析、系统设计、开发、测试、打包、运行维护等工作。

1.1、 已完成:

  • 需求分析、数据库表的设计:公共用例库计划–个人版(一)

1.2、 本次待完成:

公共用例库项目主体界面与逻辑设计阶段的工作。

2、开发流程:

2.1、界面设计

步骤2.1.1:使用Qt Designer设计UI
启动Qt Designer工具,创建一个新的GUI应用程序项目。
根据需求分析和数据库表设计的结果,设计并布局应用的主窗口和其他相关对话框或部件(例如菜单栏、工具栏、表格视图展示用例数据等)。
设置各个控件的属性,包括标签、输入框、按钮等,并确保它们能正确响应用户操作。
步骤2.1.2:保存和导出.ui文件
完成界面设计后,在Qt Designer内保存设计成果为.ui文件格式。

2.2、转换UI文件为Python脚本

步骤2.2.1:使用PyUIC转换
使用PyUIC工具将设计好的.ui文件转换为Python可读的.py文件。

2.3、编写逻辑代码

步骤2.3.1:导入生成的.py界面文件到PyCharm
打开PyCharm,新建或打开已有的项目文件夹。
将由PyUIC生成的.py界面文件添加至项目的合适位置。
创建一个主程序文件(如main.py),在这个文件中导入转换后的界面模块,并设置主窗口类的实例化及信号槽连接。
步骤2.3.2:编写业务逻辑
在对应的逻辑处理模块中,根据需求分析定义功能函数以及事件处理器。
连接UI中的控件信号到相应的逻辑处理函数,实现数据的加载、编辑、存储、查询等功能,同时处理任何与数据库交互的操作。

3、Qt Designer设计UI

3.1、用例库主页面

边学边用,下面两篇文章讲的比较详细:
Qt designer界面和所有组件功能的详细介绍(全!!!)
PyQt5常用控件大全

1.Qt Designer中,新建主页面窗口。

在这里插入图片描述

2.增加Widge、布局与Tab Widget,实现多个页面切换。

在这里插入图片描述

3.陆续添加输入框,按钮,模块列表,用例列表等。将用例库页面设计完成。

  • 左侧输入框,查询模块名称,下方树状列表显示模块与模块ID。
  • 选择模块,点击“新增用例”按钮,跳转新增页面。
  • 点击查询,显示所有用例,点击模块显示模块所属用例。选择查询条件、重置。

在这里插入图片描述

3.2、用例信息编辑页面

选择模块后,点击新增用例,将模块信息带入“所属模块”,不允许编辑。
标题、步骤必填,设置用例类型、优先级、用例状态下拉框。码值与之前数据设计时一致。
在这里插入图片描述

3.3、模块信息编辑页面

新增、编辑模块信息,查询选择上一级节点。
在这里插入图片描述

3.4、提示信息页面

对删除、新增等操作,进行提示与确认。
在这里插入图片描述

4、转换UI文件为Python脚本

PyCharm设置External Tools,配置PyUIC。设置完成拓展工具后,选择ui文件选择external tools的PyUIC,即可自动生成。
在这里插入图片描述

5、编写逻辑代码

依次对每个功能编写相应的函数,进行调用。太多就不贴了。例如下面的提示框页面:

class Tishi(QDialog, Ui_Tishi):
    '''提示信息页面'''
    confirmed_signal=pyqtSignal()

    def __init__(self, parent=None):
        super().__init__()
        self.setupUi(self)  # 直接调用self的setupUi方法
        self.is_message_box_open=False  # 标志变量,跟踪提示框的状态
        self.label.setWordWrap(True)    #提示文本,自动换行


    def xinxi(self, vale,q=False):
        '''输入提示信息,5秒自动关闭'''
        self.pushButton.setVisible(q)# 隐藏(取消显示)确认按钮
        self.qr=0

        self.timer=QTimer()
        self.label.setText(f"提示:{vale}")  # 弹窗提示信息
        if self.is_message_box_open:
            self.close()  # 关闭旧的提示框
            self.timer.stop()  # 停止旧的计时器

        self.pushButton.setEnabled(True)  # 按钮恢复
        self.is_message_box_open=True
        self.timer.setSingleShot(True)  # 单次触发模式
        self.timer.timeout.connect(self.close)
        self.timer.start(6000)  # 5000毫秒等于5秒
        self.exec() # 置顶,其它窗口不能操作

    def queren(self):
        '''确认'''
        self.close()  # 弹窗确认按钮
        self.qr=1
        self.pushButton.setEnabled(False)  # 按钮置灰


if __name__ == '__main__':
    app=QApplication(sys.argv)
    w=Tishi()
    w.show()  # 显示窗口
    # w.chaxun()
    sys.exit(app.exec())

运行,展示一个提示框。
完整代码放文末度盘。
在这里插入图片描述

6、完成情况

完成功能:用例库页面的增、删、改、查,回收站页面的恢复与删除。
待开发:导入导出,主页图表,界面美化,打包等。
在这里插入图片描述

使用介绍:

请添加图片描述
相关代码:链接:https://pan.baidu.com/s/1J-z9U6cukF7o-BlyaK86rw?pwd=4lq4
提取码:4lq4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/295593.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vmware安装centos 7.6 操作系统

vmware安装centos 7.6 操作系统 1、下载centos 7.6 操作系统镜像文件2、安装centos 7.6操作系统3、配置centos 7.6 操作系统3.1、配置静态IP地址 和 dns3.2、查看磁盘分区3.3、查看系统版本 1、下载centos 7.6 操作系统镜像文件 这里选择 2018年10月发布的 7.6 版本 官方下载链…

33--反射

1、反射(Reflection)的概念 1.1 反射的出现背景 Java程序中,所有的对象都有两种类型:编译时类型和运行时类型,而很多时候对象的编译时类型和运行时类型不一致。 Object obj new String("hello"); obj.getClass(); 例如&#xf…

互联网广告行业发展历程

在20年的历程中,广告主与媒体方持续面对着一些问题,一些核心问题推动了行业的迭代。 互联网广告经过了20年左右的高速发展,已愈发成熟,其历程是有趣的。 对互联网广告发展的理解,网上的文章并不多,已有的…

力扣1944.队列中可以看到的人数--单调栈

思路: 由题知一个人能 看到 他右边另一个人的条件是这两人之间的所有人都比他们两人 矮 ,也就是说,在自己右边第一个比自己高的人后面的人就肯定看不到了那么只需要找到右边第一个比自己高的人与自己之间的所有满足要求的人就行了&#xff0…

大数据毕业设计:python房源数据爬虫分析预测系统+可视化 +商品房数据(源码+讲解视频)✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

15|检索增强生成:通过RAG助力鲜花运营

15|检索增强生成:通过RAG助力鲜花运营 什么是 RAG?其全称为 Retrieval-Augmented Generation,即检索增强生成,它结合了检索和生成的能力,为文本序列生成任务引入外部知识。RAG 将传统的语言生成模型与大规…

Pygame和Cocos2d

Pygame和Cocos2d都是 Python 中常用的游戏引擎,但它们的设计目标、特点和使用场景略有不同。 Pygame与Cocos2d,目前是使用人数最多的两个Python游戏库。根据某知名产品点评网站的数据显示,排名前五的Python 2D游戏库如下图所示。其中&#x…

聚观早报 |小米汽车SU7官图发布;优酷上线“AI搜片”功能

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 12月29日消息 小米汽车SU7官图发布 优酷上线“AI搜片”功能 小米汽车智能驾驶技术公布 百度投资AIGC公司必优科技…

硬链接和软链接以及inode的简述【Linux】

硬链接和软链接 inode是什么?面试题 硬链接软链接 inode是什么? 认识inode之前,先来看一下一个文件在磁盘里面是怎么存储的。   首先一个物理的圆盘形状且多层的一个磁盘会被逻辑化成为一个数组,找到一个文件在这个数组里面叫做…

JavaScript新加入的**运算符,哪里有些不一样呢?

JavaScript语法(四):新加入的**运算符,哪里有些不一样呢? 上一节课我们已经给你介绍了表达式的一些结构,其中关于赋值表达式,我们讲完了它的左边部分,而留下了它右边部分,那么,我们…

HarmonyOS4.0系统性深入开发14AbilityStage组件容器

AbilityStage组件容器 AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。 AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。 DevEco Studio默…

1-并发编程线程基础

什么是线程 在讨论什么是线程前有必要先说下什么是进程,因为线程是进程中的一个实体,线程本身是不会独立存在的。 进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径&#…

创意与技术的结晶:AI魔法绘图与中文描述的完美结合

在人类文明的长河中,创意与技术一直是推动发展的重要动力。随着科技的日新月异,人工智能(AI)在创意领域的应用逐渐崭露头角,而AI魔法绘图与中文描述的结合,更是将这一趋势推向了新的高度。AI魔法绘图是一种…

各类Java对象

相关概念的混淆 在某一时间段,人们对某种编程困境感到烦恼,不少人脑中产生了一种新开发方式的概念 一些代表人物提出了他们的意见,而同一时期可能又不少人对同一问题,用自己的不同语言提出不同概念 如果又官方组织维护概念&#x…

外包干了3个多月,技术退步明显。。。。。

先说一下自己的情况,本科生生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…

初探ElasticSearch

1.什么是ElasticSearch? ElasticSearch简称ES,也成为弹性搜索,是基于Apache Lucene构建的开源搜索引擎。其实Lucene本身就是一款性能很好的开源搜索引擎工具包,但是Lucene的API相对复杂,而且掌握它需要很深厚的“内功…

【Linux Shell】7. printf 命令

文章目录 【 1. printf 命令的使用方法 】【 2. 实例 】 【 1. printf 命令的使用方法 】 printf 命令模仿 C 程序库(library)里的 printf() 程序,printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好。prin…

kubeSphere集群部署nacos

kubeSphere部署nacos 个人环境说明执行nacos数据脚本kubeSphere添加配置创建有状态副本集修改集群配置文件 创建外部访问服务访问 个人环境说明 由于我之前这个项目就是dockerjenkins部署的,只是现在升级到k8skubeSphere所有下面有些操作我可能不同,例如我的nacos配置文件就是d…

x-cmd pkg | gh - GitHub 官方 CLI

目录 简介首次用户功能特点与 x-cmd gh 模块的关系相关作品进一步探索 简介 gh,是由 GitHub 官方使用 Go 语言开发和维护的命令行工具,旨在脚本或是命令行中便捷管理和操作 GitHub 的工作流程。 注意: 由于 x-cmd 提供了同名模块,因此使用官…

虚幻UE 增强输入-触发器

上一篇增强输入基础:虚幻UE 增强输入-第三人称模板增强输入分析与扩展 主要对第三人称模板的增强输入进行分析、复刻和扩展 本篇将会对增强输入中的触发器中的各参数进行讲解 文章目录 前言触发器参数1、下移TriggerDown2、已按下TriggerPressed3、已松开TriggerRel…