对于30天以后,结束第一轮(6次)复习以后,我们要做点什么操作呢?
对第一轮复习效果的评判可以是客观的,也可以是主观的。所谓客观的,是按“复习的正确率”来评判,大于某个值(如:80%)的为通过复习,低于该值则需要重新进行下一轮复习计划;所谓主观的,是按孩子和家长的主观感受,将主观上认为不合格的字词 手工挑选入下一轮复习计划。
那么能不能两种结合呢?我是这样实现的:
每个知识点复习完一轮时,弹出以下窗口:
该页面实现时,我先使用了setStyleSheet设置了背景,但其子控件也都有了同样的背景,效果很难看,像这样:
调整脚本如下,即可以解决问题:
self.ui.widget.setObjectName("w1")self.ui.widget.setStyleSheet("#w1 {background-color:rgb(255,255,255) ; border-image:url(flower.png);background-repeat:no-repeat}")
关于这个问题,推荐一篇讲的比较清楚的文章:
链接: https://www.cnblogs.com/tear-tear-tear/p/14783304.html
以“不通过”为例,触发该按扭以后,完成以下操作:
def noPass(self):# 将本轮复习的结果写入数据表self.query_pass = QSqlQuery(myGlobValues.get_value('G_db'))self.query_pass.exec("update memory set pass_or_no = 'nopass' where word_id = "+str(self.word_id))self.query_pass.finish()# 将新的复习计划增加到计划表中qr = QSqlQuery(myGlobValues.get_value('G_db'))qr.exec("select max(mem_id) as max_id from memory")qr.last()lastRow = qr.value('max_id') + 1# 找出 total_rows 用于插入记录时的定位qr.exec("select count(*) as total_rows from memory")qr.last()total_rows = qr.value('total_rows')qr.finish()self.tableModelMemory = myGlobValues.get_value('G_tableModelMemory')self.tableModelMemory.insertRow(total_rows, QModelIndex())curRec = self.tableModelMemory.record() # 只有表头curRec.setValue('mem_id', lastRow)curRec.setValue('word_id', self.word_id)curRec.setValue('first_time', QDate.currentDate())self.tableModelMemory.setRecord(total_rows, curRec) # 插入记录if self.tableModelMemory.submitAll():self.close()else:error = self.tableModelMemory.lastError().text()QMessageBox.warning(self, '插入用户表失败:', error) # 注意不要加title = '' text=''return