前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PyQt5数据库开发1 4.3 QSqlTableModel④下部

PyQt5数据库开发1 4.3 QSqlTableModel④下部

原创
作者头像
会洗碗的CV工程师
修改于 2023-11-30 15:13:37
修改于 2023-11-30 15:13:37
2240
举报
文章被收录于专栏:LongJava学习资料LongJava学习资料

建立tableview与右侧组件的关联

当前无关联

当前tableview里面选择某个行,右侧是无反应的

添加关联代码

插入

同时import若干新模块

运行程序

发现右边groupbox出现第一条数据。无论左边tableview点哪个单元格,右边的groupbox都不跟着变化

添加选择行变化的信号与槽函数

运行程序

换个地方点击

发现tableView可以选择多行

按住Ctrl键,在多条记录上选择,发现可以选多行

添加代码,限制tableView

在__init__函数中限制

运行程序,发现没法选多行了

排序

排序下拉框没内容

当前这个下拉框里面是没东西的,运行的时候点没反应

补充相关函数和调用

运行程序,发现排序下拉框有内容了

排序下拉框的信号与槽

添加槽函数

import新模块

添加红色框框内代码。注意要在前面写上@pyqtSlot(int),说明其参数为int类型

运行程序

换一种排序方式

升序和降序两个单选按钮的信号与槽函数

降序

添加槽函数

运行测试升序降序功能

数据过滤

添加槽函数

测试过滤功能

发现bug

原因是这些按钮在数据库没打开时不应该能按。排序相关功能也有类似的错误

去Qt修改

将groupBoxSort的enabled属性里面的勾去掉

同样,将groupBoxFilter的相关属性也去掉

保存,退出qt

在Eric6工程目录下运行批处理文件或者将form文件拷贝到Eric6工程目录,然后在Eric6下编译form(因为改动没有涉及资源,所以直接在eric6下编译form就行了

运行程序

现在数据库没打开时,排序和过滤相应按钮都没法按了

添加代码,让数据库打开时,排序和过滤功能能用

在opentable函数的最后加入如下代码

运行程序

打开数据库以后,排序和过滤按钮能用了

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 建立tableview与右侧组件的关联
    • 当前无关联
    • 添加关联代码
    • 运行程序
    • 添加选择行变化的信号与槽函数
    • 运行程序
    • 发现tableView可以选择多行
    • 添加代码,限制tableView
    • 运行程序,发现没法选多行了
  • 排序
    • 排序下拉框没内容
    • 补充相关函数和调用
    • 运行程序,发现排序下拉框有内容了
    • 排序下拉框的信号与槽
    • 添加槽函数
    • 运行程序
    • 升序和降序两个单选按钮的信号与槽函数
    • 添加槽函数
    • 运行测试升序降序功能
  • 数据过滤
    • 添加槽函数
    • 测试过滤功能
    • 发现bug
    • 去Qt修改
    • 运行程序
    • 添加代码,让数据库打开时,排序和过滤功能能用
    • 运行程序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档