Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PyQt5数据库开发1 4.3 QSqlTableModel 之 Qt项目的创建

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

作者头像
会洗碗的CV工程师
发布于 2023-02-26 07:30:22
发布于 2023-02-26 07:30:22
6430
举报
文章被收录于专栏:LongJava学习资料LongJava学习资料

目录

一、新建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表建立和远程连接设置和写对应的槽函数。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PyQt5数据库开发2 5.1 QSqlQueryModel
目录 一、Qt窗体设计 1. 新建Qt项目 2. 拷贝4-3的部分组件过来 3. 添加资源文件  4. 创建Action 5. 添加工具栏 6. 创建菜单项  7. 关闭Action的实现 8. 调整布局 8.1 调整两个groupbox的布局 8.3 为窗体设置全局布局 二、代码拷贝和删除 1. 新建项目目录 2. 编译窗体文件和资源文件 3. Eric6项目 4. 拷贝文件 5. 删代码 6. 现有代码 7. 运行文件 三、代码修改 1. 添加import模块 2. tableView显示 3. 测试t
会洗碗的CV工程师
2023/02/26
5920
PyQt5数据库开发2 5.1 QSqlQueryModel
_PyQt5数据库开发2 5.1 QSqlQueryModel
调整后,两个groupBox和centralwidget之间出现了一层splitter
会洗碗的CV工程师
2023/11/28
2110
_PyQt5数据库开发2 5.1 QSqlQueryModel
PyQt5数据库开发2 5.2 QSqlRelationalTableModel
注意学生表有个外键指向部门表的departid,还有个外键指向专业表的majorid
会洗碗的CV工程师
2023/02/26
3990
PyQt5数据库开发2 5.2 QSqlRelationalTableModel
PyQt5数据库开发3 6 QSqlQuery完整实操案例【图文详解】
目录 一、Qt主窗体设计 1. 新建Qt项目 2. 添加一个tableview  3. 添加资源  4. 添加Action  5. 修改Action的状态 6. 添加工具栏 7. 添加菜单  8. 实现按钮功能  二、Qt对话框窗体设计 1. 新建窗体 2. 拷贝组件 3. 放按钮 4. 调整布局 5. 为按钮设置图标  6. 实现按钮功能  三、窗体功能实现 1. 编译窗体文件和资源文件 2. 新建项目  3. 新建appMain.py文件  4. 新建myMainWindow.py文件  5. 新建my
会洗碗的CV工程师
2023/03/11
1.3K0
PyQt5数据库开发3 6 QSqlQuery完整实操案例【图文详解】
PyQt5数据库开发1 4.3 QSqlTableModel①
修改工具栏的toolButtonStyle属性,改为ToolButtonTextUnderIcon
会洗碗的CV工程师
2023/11/30
1960
PyQt5数据库开发1 4.3 QSqlTableModel①
PyQt5数据库开发2 5.2 QSqlRelationalTableModel②
注意除了actOpenDB和actQuit之外,其他Action的enabled属性取消
会洗碗的CV工程师
2023/11/30
1850
PyQt5数据库开发2 5.2 QSqlRelationalTableModel②
PyQt5数据库开发1 4.3 QSqlTableModel②
frame由三个部分组成,一个排序GroupBox,一个数据过滤GroupBox,还有一个水平Spacer
会洗碗的CV工程师
2023/11/30
2300
PyQt5数据库开发1 4.3 QSqlTableModel②
PyQt5数据库开发1 4.3 QSqlTableModel 之 相关槽函数的实现(多图长文详解)
目录 一、打开数据库表 1. 写打开数据库的槽函数 2. 运行后发现数据库可以打开了 3. ODBC配通了,数据库还是打不开 4. 写在tableView上显示数据库表的函数 5. 运行后发现表可以显示了 6. 代码分析 7. 添加列名称 8. 根据内容调整列宽 9. 备注:数据库连接串 二、建立tableview与右侧组件的关联 1. 当前无关联 2. 添加关联代码 3. 运行程序 4. 添加选择行变化的信号与槽函数  5. 运行程序  6. 发现tableView可以选择多行 7. 添加代码,限制tab
会洗碗的CV工程师
2023/02/26
2.1K0
PyQt5数据库开发1 4.3 QSqlTableModel 之 相关槽函数的实现(多图长文详解)
PyQt5数据库开发3 6 QSqlQuery完整实操案例①
除了actOpenDB和actQuit之外,把其他的action全部改为不是enabled的,其他的可以根据自己需要来进行添加
会洗碗的CV工程师
2023/11/30
2280
PyQt5数据库开发3 6 QSqlQuery完整实操案例①
PyQt5数据库开发1 4.3 QSqlTableModel④上部
参见4 PyQt5数据库开发 4.1 SQL Server 2008 R2如何开启数据库的远程连接
会洗碗的CV工程师
2023/11/30
2640
PyQt5数据库开发1 4.3 QSqlTableModel④上部
PyQt5编程扩展 3.2 资源文件的使用
项目路径:e:\baikejia\bkj3-2,项目名QtApp,基类选择QWidget
会洗碗的CV工程师
2023/02/26
8640
PyQt5编程扩展 3.2 资源文件的使用
PyQt5可视化 7 饼图和柱状图实操案例 ②建表建项目改布局
目录 一、数据库建表 1 建表 2 插入数据 3 查看表数据 二、建立项目 1 新建项目 2 appMain.py 3 myMainWindow.py 4 myChartView.py 2.4.1 提升的后果 2.4.2 QmyChartView类说明 2.4.3 添加代码 三、修改myMainWindow.py程序,添加功能 1 打开数据库 2 生成分数数据 3.2.1 import新模块 3.2.2 在构造函数中设置数据模型,调用生成分数函数  3.2.3 生成分数函数  3.2.4 运行看看 3 统计
会洗碗的CV工程师
2023/03/11
7610
PyQt5可视化 7 饼图和柱状图实操案例 ②建表建项目改布局
【QT】:QMainWindow 窗口
Qt 中的菜单栏是通过 QMenuBar 这个类来实现的。一个主窗口最多只有一个菜单栏,位于主窗口顶部、主窗口标题栏下面。
IsLand1314
2025/02/18
6130
【QT】:QMainWindow 窗口
PyQt5数据库开发1 4.3 QSqlTableModel④下部
发现右边groupbox出现第一条数据。无论左边tableview点哪个单元格,右边的groupbox都不跟着变化
会洗碗的CV工程师
2023/11/30
2510
PyQt5数据库开发1 4.3 QSqlTableModel④下部
PyQt5编程基础 2.2 信号与槽函数
三个CheckBox的ObjectName分别设为chkBoxUnder、chkBoxItalic、chkBoxBold,text分别设为Underline、Italic、Bold,其中chkBoxUnder的checked属性打勾
会洗碗的CV工程师
2023/02/10
2K0
PyQt5编程基础 2.2 信号与槽函数
PyQt5数据库开发3 6 QSqlQuery完整实操案例③
会洗碗的CV工程师
2023/11/30
2220
PyQt5数据库开发3 6 QSqlQuery完整实操案例③
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
在 PyQt5 中,菜单栏(QMenuBar)、工具栏(QToolBar)和状态栏(QStatusBar)是 QMainWindow 提供的标准控件,用于帮助用户更好地与应用程序交互。它们是桌面应用程序的常见组成部分:
半截诗
2024/10/09
3.9K0
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
使用Qt Designer 设计主窗口
选中Type Here 处 双击(或按 Enter键)编辑菜单名。输入完毕后按Enter 键 确认,可继续编辑下一个菜单项。如有必要,可以在菜单项之间添加分隔符。可拖动以修改菜单项的顺序。
用户6021899
2019/08/14
5.1K0
PyQt5可视化 7 饼图和柱状图实操案例 ①Qt项目的创建
目录 一、新建Qt项目 二、添加组件和布局 三、添加资源 1. 新建资源文件 2. 添加图标资源  四、frameHead 1. toolBtnGenData 2. toolBtnCounting 3. comboTheme 4. comboAnimation 5. Horizontal Spacer 6. toolBtnQuit 7. 设置toolBtnQuit的功能  8. frameHead的属性  9. 布局 10. frameHead的层次  五、frameData 1. groupBoxGrad
会洗碗的CV工程师
2023/03/08
1.1K0
PyQt5可视化 7 饼图和柱状图实操案例 ①Qt项目的创建
13.QT-QMainWindow组件使用
QMainWindow介绍 主窗口是与用户进行长时间交互的顶层窗口,比如记事本 主窗口通常是应用程序启动后显示的第一个窗口 QMainWindow是Qt中主窗口的基类,继承于QWidget,如下图所
诺谦
2018/05/28
2.4K0
推荐阅读
相关推荐
PyQt5数据库开发2 5.1 QSqlQueryModel
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档