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. 测试tableView显示 

4. 右边的groupBox里面内容的显示

5. 测试groupBox显示 

6. tableView换行,相应的groupBox内容改变

7. 测试tableView换行 

8. 记录的移动

9. 测试记录的移动

10. 修改do_currentRowChanged的代码 

11. 在openTable函数中补充代码 

12. 测试程序 


一、Qt窗体设计

1. 新建Qt项目

PyQt5数据库开发2 5.1 QSqlQueryModel_第1张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第2张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第3张图片

MainWindow的windowTitle属性设为bkj5-1

PyQt5数据库开发2 5.1 QSqlQueryModel_第4张图片

2. 拷贝4-3的部分组件过来

把GroupBoxLeft和GroupBoxRight拷贝过来,然后删去GroupBoxLeft里面的其他组件,只保留一个tableview

PyQt5数据库开发2 5.1 QSqlQueryModel_第5张图片

3. 添加资源文件 

 PyQt5数据库开发2 5.1 QSqlQueryModel_第6张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第7张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第8张图片

4. 创建Action

如图创建Action

PyQt5数据库开发2 5.1 QSqlQueryModel_第9张图片

将其中的actRecFirst、actRecPrevious、actRecNext、actRecLastenabled属性去掉

5. 添加工具栏

PyQt5数据库开发2 5.1 QSqlQueryModel_第10张图片

6. 创建菜单项 

 PyQt5数据库开发2 5.1 QSqlQueryModel_第11张图片PyQt5数据库开发2 5.1 QSqlQueryModel_第12张图片

7. 关闭Action的实现

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

 

8. 调整布局

8.1 调整两个groupbox的布局

当前groupBoxLeft和groupBoxRight直接挂在centralwidget下

 PyQt5数据库开发2 5.1 QSqlQueryModel_第13张图片

为两个groupbox添加Qsplitter布局管理器 

 PyQt5数据库开发2 5.1 QSqlQueryModel_第14张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第15张图片

调整后,两个groupBox和centralwidget之间出现了一层splitter 

PyQt5数据库开发2 5.1 QSqlQueryModel_第16张图片

8.3 为窗体设置全局布局

点击窗体空白处,选中窗体

 PyQt5数据库开发2 5.1 QSqlQueryModel_第17张图片

选择水平布局或垂直布局,并适当调整大小。显示如下 

PyQt5数据库开发2 5.1 QSqlQueryModel_第18张图片

二、代码拷贝和删除

1. 新建项目目录

新建e:\baikejia\bkj5-1目录

2. 编译窗体文件和资源文件

拷贝项目4-3里面的compile.bat到项目目录中,运行。

3. Eric6项目

PyQt5数据库开发2 5.1 QSqlQueryModel_第19张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第20张图片

4. 拷贝文件

拷贝bkj4-3里面的appMain.py和myMainWindow.py到当前目录

 PyQt5数据库开发2 5.1 QSqlQueryModel_第21张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第22张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第23张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第24张图片

5. 删代码

(1)保留两个函数

__init__

on_actOpenDB_triggered

(2)保留测试代码

if  __name__ == "__main__"部分

(3)保留函数定义,代码全部去掉,换成一个pass

__openTable

6. 现有代码

删完之后,myMainWindow.py里面的代码应该是这样的

PyQt5数据库开发2 5.1 QSqlQueryModel_第25张图片

7. 运行文件

能正常出界面

PyQt5数据库开发2 5.1 QSqlQueryModel_第26张图片

三、代码修改

1. 添加import模块

PyQt5数据库开发2 5.1 QSqlQueryModel_第27张图片

添加红色框中的那些模块

2. tableView显示

将OpenTable函数改为

PyQt5数据库开发2 5.1 QSqlQueryModel_第28张图片

3. 测试tableView显示 

PyQt5数据库开发2 5.1 QSqlQueryModel_第29张图片

4. 右边的groupBox里面内容的显示

添加红色框中代码

PyQt5数据库开发2 5.1 QSqlQueryModel_第30张图片

5. 测试groupBox显示 

PyQt5数据库开发2 5.1 QSqlQueryModel_第31张图片

但是在tableView里面换行的时候右边框里面内容是不变的

6. tableView换行,相应的groupBox内容改变

建立自定义槽函数do_currentRowChanged

 PyQt5数据库开发2 5.1 QSqlQueryModel_第32张图片

在openTable函数中设置信号与槽的关联 

7. 测试tableView换行 

PyQt5数据库开发2 5.1 QSqlQueryModel_第33张图片

8. 记录的移动

添加五个函数

PyQt5数据库开发2 5.1 QSqlQueryModel_第34张图片

9. 测试记录的移动

发现不能用,这四个按钮不能按

PyQt5数据库开发2 5.1 QSqlQueryModel_第35张图片

10. 修改do_currentRowChanged的代码 

 PyQt5数据库开发2 5.1 QSqlQueryModel_第36张图片

11. 在openTable函数中补充代码 

PyQt5数据库开发2 5.1 QSqlQueryModel_第37张图片

12. 测试程序 

PyQt5数据库开发2 5.1 QSqlQueryModel_第38张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第39张图片

PyQt5数据库开发2 5.1 QSqlQueryModel_第40张图片

你可能感兴趣的:(Python,qt,ui,python,pyqt)