当前位置: 首页 > news >正文

PyQt5数据库开发1 4.3 QSqlTableModel 之 Qt项目的创建

目录

一、新建Qt项目

1. 编辑资源文件

2. 添加前缀

3. 新建放资源文件的目录

4. 添加图标文件

二、Action

1. 新建打开数据库Action

2. 添加其他Action

三、工具栏

1. 添加工具栏

2. 拖动actOpenDB到工具栏

3. 设置工具栏属性

4. 添加分隔符

5. 添加其他工具

6. 工具栏层次结构 

四、菜单

1. 添加文件分组

2. 添加其他文件分组下菜单项 

3. 添加其他分组和菜单项

4. 菜单层次结构 

五、关闭Action的实现

六、修改Action的状态

七、添加组件和布局

1. 最外左右两个GroupBox的布局

2. frame的布局

3. 排序groupbox的布局 

4. 数据过滤groupbox的布局 

5. 右侧groupbox的布局

6. 分裂器QSplitter

7. 总的层次结构

八、添加下拉框选项

1. 性别下拉框

2. 省份下拉框 

3. 部门下拉框 

九、编译窗体文件和资源文件

1. 建立批处理文件

2. 双击运行批处理文件

十、新建Eric6项目

1. 新建项目

2. 新建myMainWindow.py

3. 运行myMainWindow.py

4. 新建appMain.py 

5. 运行appMain.py

后续


一、新建Qt项目

Tips1   建好项目后,组件结构如图 

MainWindow的windowTitle属性设为bkj4-3 

1. 编辑资源文件

在文件res.qrc上点击右键,选择Open In Editor

 

2. 添加前缀

添加前缀icons

 

3. 新建放资源文件的目录

原QtApp目录文件如下

 

在这个目录下新建images文件夹 

将所有图标文件放到images文件夹里面 

4. 添加图标文件

二、Action

1. 新建打开数据库Action

打开Action Editor,点击新建按钮

2. 添加其他Action

类似的添加Action,最终结果如图所示

 

保存,退出Action编辑器 

三、工具栏

1. 添加工具栏

窗体空白处点右键,选择添加工具栏,命名为mainToolBar

2. 拖动actOpenDB到工具栏

 拖完后,工具栏出现图标

只有图标,没有文字,不好看 

3. 设置工具栏属性

修改工具栏的toolButtonStyle属性,改为ToolButtonTextUnderIcon

改了以后,工具栏变了样 

4. 添加分隔符

右键点击工具栏,选择添加分隔符

 

5. 添加其他工具

Tips2  最终效果如图 

6. 工具栏层次结构 

四、菜单

1. 添加文件分组

双击,输入”文件(&F)” 

完成这个Action的添加 

2. 添加其他文件分组下菜单项 

3. 添加其他分组和菜单项

4. 菜单层次结构 

五、关闭Action的实现

点击工具栏上的Edit Signals/Slots按钮

点击底部的Signals Slots Editor,点上面的+号 

出现 

发送者选actQuit这个Action,信号选择triggered(),接收者选择MainWindow,槽选择close() 

点击上方的×保存 

六、修改Action的状态

除了actOpenDB和actQuit之外,把其他的action全部改为不是enabled的

修改前

修改后 

修改完之后,工具栏变成这样 

  

菜单项变成这样 

七、添加组件和布局

Tips3  如图添加组件,实现类似下图输出

1. 最外左右两个GroupBox的布局

左右两个GroupBox

左边的GroupBox,上面放一个frame,下面放一个table view

就像下图的层次结构一样

 

2. frame的布局

frame由三个部分组成,一个排序GroupBox,一个数据过滤GroupBox,还有一个水平Spacer

层次结构类似如下

 

构造如下 

3. 排序groupbox的布局 

 

4. 数据过滤groupbox的布局 

5. 右侧groupbox的布局

注意

(1)dbSpinEmpNo的minimum属性为0,maximum属性为10000

(2)dbSpinSalary的minimum属性为0,maximum属性为50000,singleStep为100

(3)其中的dbEditBirth的InputMask为9999-99-99

 

 

 

6. 分裂器QSplitter

当前总体的层次结构如下

 

按住ctrl键,选中groupboxleft和groupboxright,右键->布局->使用分裂器水平布局 

可以看到层次结构变了,在cenralwidget和两个groupbox之间加多了一层splitter 

窗体变为如下 

7. 总的层次结构

其中groupboxleft部分的层次结构 

groupboxright部分的层次结构 

八、添加下拉框选项

1. 性别下拉框

双击性别下拉框

 

点加号填入选项 

结果如图 

2. 省份下拉框 

3. 部门下拉框 

九、编译窗体文件和资源文件

1. 建立批处理文件

在e:\baikejia\bkj4-3目录下创建一个compile.bat文件,输入以下内容 

2. 双击运行批处理文件

编译完成,拷贝完成,新生成了三个文件 

 

十、新建Eric6项目

1. 新建项目

 

2. 新建myMainWindow.py

内容如下

 

3. 运行myMainWindow.py

确保可以运行

 

4. 新建appMain.py 

 

5. 运行appMain.py

确保可以运行

后续

        🆗,这次实操比较多内容,下次更新这一篇的后续,是关于SQL Server表建立和远程连接设置和写对应的槽函数。期待小伙伴的关注!!!

http://www.lryc.cn/news/9713.html

相关文章:

  • 【大数据】第三章:详解HDFS(送尚硅谷笔记和源码)
  • 27岁想转行IT,还来得及吗?
  • Web前端CSS清除浮动的5种方法
  • Java:博客系统,实现加盐加密,分页,草稿箱,定时发布
  • JuiceFS 在火山引擎边缘计算的应用实践
  • 实验06 二叉树遍历及应用2022
  • 基于蜣螂算法改进的LSTM分类算法-附代码
  • 如何正确应用GNU GPLv3 和 LGPLv3 协议
  • Python局部函数及用法(包含nonlocal关键字)
  • 关于BMS的介绍及应用领域
  • 2月datawhale组队学习:大数据
  • 在Spring框架中创建Bean实例的几种方法
  • PyQt5 界面预览工具
  • day44【代码随想录】动态规划之零钱兑换II、组合总和 Ⅳ、零钱兑换
  • 计算机网络第1章(概述)学习笔记
  • GPT-3(Language Models are Few-shot Learners)简介
  • 容器安全风险and容器逃逸漏洞实践
  • 2023年美赛B题-重新想象马赛马拉
  • Docker常用命令总结
  • mac环境,安装NMP遇到的问题
  • Web Worker 与 SharedWorker 的介绍和使用
  • React:Redux和Flux
  • TypeScript 学习之Class
  • doris - 数仓 拉链表 按天全量打宽表性能优化
  • 服务器虚拟化及优势
  • 华为ensp模拟校园网/企业网实例(同城灾备及异地备份中心保证网络安全)
  • git命令篇(持续更新中)
  • 用记事本实现“HelloWorld”输出
  • Python基础1
  • 4.2 双点双向路由重发布