目录
4. 在myDialogData里面写setUpdateRecord代码
5. 在myDialogData里面写getRecordData代码
4. 修改myMainWindow.py的updateRecord函数
2. 在myDialogData.py中添加setInsertRecord函数
3. 在myMainWindow.py中添加返回的记录的处理
MainWindow的windowTitle属性设为bkj6-1
除了actOpenDB和actQuit之外,把其他的action全部改为不是enabled的
设置窗体的objectName
设置窗体的属性为编辑记录
拷贝bkj4-3里面的groupBoxRight过来
右边放一个frame,在frame上放两个按钮和一个Vertical spacer 两个按钮分别命名为btnOK和btnClose,text为确定和取消
点击frame,设为垂直布局
点击窗体空白处,设为水平布局
拷贝项目4-3里面的compile.bat到项目目录中,改名为compilemore.bat。 修改compilemore.bat,添加红色框中内容,保存,运行。
qt上在actRecEdit上右键,选转到槽
在弹出的文件中复制函数名
插入红色框中代码
可以看到,除了出生日期之外,其他数据都可以了
插入一行语句
再次运行
说明recData.value(“Birthday”)是有东西的,只是没显示出来
import新模块
成功了
拿生日和工资数据做测试,添加输出代码
改一下欧阳锋的数据
检查返回值
修改成功
数据库里检查一下,已经改了
qt上,tableView上点右键,选择转到槽
选择双击
记住函数名
露出刚刚插入的数据
数据库里面查一查
将欧阳锋的数据删掉
点击删除后,界面上显示已被删除
去数据库查查有没有
发现想涨500,结果跑了两次,涨了1000元
这是PyQt5常见的bug,加多pyqtSlot()在函数前面试试看
点涨工资
终于对了
发现数据编辑有问题
比如要改穆念慈的工资,从6000改成7000。选中穆念慈这行,然后点编辑记录 改成7000后,点确定
没有问题,改成7000了
下面换一种方式,双击7000,将其改成8000
改完后点确定
弹出空白表
这时在工具栏上某个按钮点一下,记录才会出来
找到__updateRecord函数,在函数的最后,是这样的
应该是红色框中语句有问题,导致更新tableView失败 注释掉红色框中代码,改成下面这样
双击8000,改成9000
点击确定后返回