最强大脑记忆曲线(11)—— 30天结束第一轮复习后的操作

对于30天以后,结束第一轮(6次)复习以后,我们要做点什么操作呢?
对第一轮复习效果的评判可以是客观的,也可以是主观的。所谓客观的,是按“复习的正确率”来评判,大于某个值(如:80%)的为通过复习,低于该值则需要重新进行下一轮复习计划;所谓主观的,是按孩子和家长的主观感受,将主观上认为不合格的字词 手工挑选入下一轮复习计划。
那么能不能两种结合呢?我是这样实现的:

一、将是否重新复习交给客户

每个知识点复习完一轮时,弹出以下窗口:
最强大脑记忆曲线(11)—— 30天结束第一轮复习后的操作_第1张图片

该页面实现时,我先使用了setStyleSheet设置了背景,但其子控件也都有了同样的背景,效果很难看,像这样:
最强大脑记忆曲线(11)—— 30天结束第一轮复习后的操作_第2张图片

调整脚本如下,即可以解决问题:

    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

你可能感兴趣的:(家有儿女,python)