建立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腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!