孩子马上要上学了,出差路上顺手写个练习口算的程序跟大家分享下,如果家里有同款的宝宝,正好可以拿去,不谢!
先说下自己的需求:
1.基本的计算功能,本来想只写下加法就可以了,想了想顺手就把加减乘除都写了
2.计算的范围可以通过界面修改,这样大概1-6年级都可以用了吧
3.题目的数量可以设定
4.正确错误可以进行统计和反馈
5.如果不希望孩子用电脑,可以生成文件打印到纸上
说完需求,聊下自己的思路
1.设计UI
在这里插入图片描述

2.基本功能

功能比较简单,所以就不每个点都陈述了,主要分享下几个点吧
第一,整数验证,为了避免输入的内容不是整数,我对6个lineEdit单行输入框进行了整数输入限定。方法是通过PyQt5里面的QreExp模块设定,利用正则re判断,代码如下:

整数校验器

regExp = QRegExp('\d*')
int_num = QRegExpValidator(regExp)
self.lineEdit.setValidator(int_num)

第二,加减乘除按钮的互斥设定。两个思路,一个是通过sender()方法,点击按钮的同时发射当前按钮的内容来判断。第二个方法,当单击某个按钮时,其他三个按钮的状态相反,需要4个同类型的函数。因为考虑到后面计算过程的判断,自己选择了第二个方法,虽然多了几行代码,但是相对好理解。

def signal01(self):self.pushButton.setChecked(True)self.pushButton_2.setChecked(False)self.pushButton_3.setChecked(False)self.pushButton_4.setChecked(False)self.label_3.setText('+')
def signal02(self):self.pushButton.setChecked(False)self.pushButton_2.setChecked(True)self.pushButton_3.setChecked(False)self.pushButton_4.setChecked(False)self.label_3.setText('-')
def signal03(self):self.pushButton.setChecked(False)self.pushButton_2.setChecked(False)self.pushButton_3.setChecked(True)self.pushButton_4.setChecked(False)self.label_3.setText('×')
def signal04(self):self.pushButton.setChecked(False)self.pushButton_2.setChecked(False)self.pushButton_3.setChecked(False)self.pushButton_4.setChecked(True)self.label_3.setText('÷')

第三,计算过程,加法和乘法相对比较简单,就不赘述了。因为小学没有负数,所以减法需要先判断大小,将较大的数设置在前面。除法因为牵扯到小数,孩子还做不了,所以进行了整除的设定,通过while循环先找到可以整除的两个数,再进行计算。

while 1:random_num01 = random.randint(int(self.lineEdit_2.text()),int(self.lineEdit_3.text()))  # 第一个要计算的数random_num02 = random.randint(int(self.lineEdit_4.text()),int(self.lineEdit_5.text()))  # 第二个要计算的数if random_num02 == 0:continueif random_num01 < random_num02:a = random_num02b = random_num01if a % b == 0:self.label_2.setText(str(a))self.label_4.setText(str(b))self.lineEdit_result.setText('')

第四,保存。这应该是最简单的功能,直接for循环保存到文件夹即可。

def save(self):if self.lineEdit.text()!='' and self.lineEdit_2.text()!='' and self.lineEdit_3.text()!='' and self.lineEdit_4.text()!='' and self.lineEdit_5.text()!='':num =int(self.lineEdit.text())range01 =int(self.lineEdit_2.text())range02 =int(self.lineEdit_3.text())range03 =int(self.lineEdit_4.text())range04 =int(self.lineEdit_5.text())signal = self.label_3.text()file_name =time.strftime('%Y_%m_%d_%H_%M_%S',time.localtime())+'.txt'with open(file_name,'w+',encoding='utf-8') as f:for i in range(num):result=str(random.randint(range01,range02))+' '+signal+' '+str(random.randint(range03,range04))+'='+'\n'f.write(result)QMessageBox.information(self,'状态提示','文件已保存,请在软件相同文件夹下打开\n文件名:%s'%file_name)

另外,几个细节分享。
1.除了整数验证之外,对是否输入(不为空)进行了判断。
2.因为UI调整了很多次,为了每次修改不会影响后续的代码,采用了调用的方式,具体可以参考我的上一篇文章【Python心得】解决PyQt5 UI更新同步问题

最好的学习方法是输出,附上全部代码,需要的随意吧。一共2个部分,主代码和UI部分。
主代码部分

# Author WangKun
# date:2020.01.28
'''
1.UI界面
2.可以选择数字的范围
3.可以选择加减乘除
4.计分功能
5.输出打印功能
6.选择多少道题
'''
import sys,time,random
from PyQt5 import QtCore, QtGui, QtWidgets
from Calculator_UI import Ui_MainWindow
from PyQt5.QtGui import QIntValidator, QRegExpValidator
from PyQt5.QtCore import QRegExp
from PyQt5.QtWidgets import QMessageBoxclass window(QtWidgets.QMainWindow,Ui_MainWindow):def __init__(self):super().__init__()self.setupUi(self)# 整数校验器regExp = QRegExp('\d*')int_num = QRegExpValidator(regExp)self.lineEdit.setValidator(int_num)self.lineEdit_2.setValidator(int_num)self.lineEdit_3.setValidator(int_num)self.lineEdit_4.setValidator(int_num)self.lineEdit_5.setValidator(int_num)self.lineEdit_result.setValidator(int_num)#开始按钮事件self.pushButton_6.clicked.connect(self.cal)#运算符号验证self.pushButton.clicked.connect(self.signal01)self.pushButton_2.clicked.connect(self.signal02)self.pushButton_3.clicked.connect(self.signal03)self.pushButton_4.clicked.connect(self.signal04)#计算self.lineEdit_result.returnPressed.connect(self.result)#保存功能self.pushButton_5.clicked.connect(self.save)#版权信息self.statusBar.showMessage('作者:诺依晨')def result(self):if self.lineEdit.text()!='' and self.lineEdit_2.text()!='' and self.lineEdit_3.text()!='' and self.lineEdit_4.text()!='' and self.lineEdit_5.text()!='':topic_num = int(self.lineEdit.text())answer_num = int(self.label_15.text())  # 答题数量answer_true = int(self.label_16.text()) #答对的数量if answer_num < topic_num:num01 =int(self.label_2.text()) #第一个要计算的数num02 =int(self.label_4.text()) #第二个要计算的数result_num = 0answer =self.lineEdit_result.text()if answer.isdigit(): #如果是数字,就执行计算answer =int(answer)# 加法计算if self.pushButton.isChecked():result_num = num01+ num02if answer == result_num:self.label_7.setText('✔')#设置对号answer_num += 1 # 总的答题数量+1self.label_15.setText(str(answer_num))answer_true += 1  # 答对数量+1self.label_16.setText(str(answer_true))random_num01 = random.randint(int(self.lineEdit_2.text()), int(self.lineEdit_3.text()))  # 随机数1random_num02 = random.randint(int(self.lineEdit_4.text()), int(self.lineEdit_5.text()))  # 随机数2self.label_2.setText(str(random_num01))self.label_4.setText(str(random_num02))self.lineEdit_result.setText('')state ='当前答题进度%s/%s,共答对%s题!'%(answer_num,topic_num,answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))else:self.label_7.setText('✘')self.lineEdit_result.setText('')answer_num += 1  # 总的答题数量+1self.label_15.setText(str(answer_num))self.label_16.setText(str(answer_true))random_num01 = random.randint(int(self.lineEdit_2.text()), int(self.lineEdit_3.text()))  # 随机数1random_num02 = random.randint(int(self.lineEdit_4.text()), int(self.lineEdit_5.text()))  # 随机数2self.label_2.setText(str(random_num01))self.label_4.setText(str(random_num02))self.lineEdit_result.setText('')state = '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))# 减法计算if self.pushButton_2.isChecked():result_num = num01- num02if answer == result_num:self.label_7.setText('✔')#设置对号answer_num += 1 # 总的答题数量+1self.label_15.setText(str(answer_num))answer_true += 1  # 答对数量+1self.label_16.setText(str(answer_true))random_num01 = random.randint(int(self.lineEdit_2.text()), int(self.lineEdit_3.text()))  # 随机数1random_num02 = random.randint(int(self.lineEdit_4.text()), int(self.lineEdit_5.text()))  # 随机数2if random_num01 < random_num02:self.label_2.setText(str(random_num02))self.label_4.setText(str(random_num01))else:self.label_2.setText(str(random_num01))self.label_4.setText(str(random_num02))self.lineEdit_result.setText('')state ='当前答题进度%s/%s,共答对%s题!'%(answer_num,topic_num,answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))else:self.label_7.setText('✘')self.lineEdit_result.setText('')answer_num += 1  # 总的答题数量+1self.label_15.setText(str(answer_num))self.label_16.setText(str(answer_true))random_num01 = random.randint(int(self.lineEdit_2.text()), int(self.lineEdit_3.text()))  # 随机数1random_num02 = random.randint(int(self.lineEdit_4.text()), int(self.lineEdit_5.text()))  # 随机数2if random_num01 < random_num02:self.label_2.setText(str(random_num02))self.label_4.setText(str(random_num01))else:self.label_2.setText(str(random_num01))self.label_4.setText(str(random_num02))self.lineEdit_result.setText('')state = '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))# 乘法计算if self.pushButton_3.isChecked():result_num = num01 * num02if answer == result_num:self.label_7.setText('✔')  # 设置对号answer_num += 1  # 总的答题数量+1self.label_15.setText(str(answer_num))answer_true += 1  # 答对数量+1self.label_16.setText(str(answer_true))random_num01 = random.randint(int(self.lineEdit_2.text()),int(self.lineEdit_3.text()))  # 随机数1random_num02 = random.randint(int(self.lineEdit_4.text()),int(self.lineEdit_5.text()))  # 随机数2self.label_2.setText(str(random_num01))self.label_4.setText(str(random_num02))self.lineEdit_result.setText('')state = '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))else:self.label_7.setText('✘')self.lineEdit_result.setText('')answer_num += 1  # 总的答题数量+1self.label_15.setText(str(answer_num))self.label_16.setText(str(answer_true))random_num01 = random.randint(int(self.lineEdit_2.text()),int(self.lineEdit_3.text()))  # 随机数1random_num02 = random.randint(int(self.lineEdit_4.text()),int(self.lineEdit_5.text()))  # 随机数2self.label_2.setText(str(random_num01))self.label_4.setText(str(random_num02))self.lineEdit_result.setText('')state = '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))# 除法计算if self.pushButton_4.isChecked():result_num = int(self.label_2.text())/ int(self.label_4.text())if answer == result_num:self.label_7.setText('✔')  # 设置对号answer_num += 1  # 总的答题数量+1self.label_15.setText(str(answer_num))answer_true += 1  # 答对数量+1self.label_16.setText(str(answer_true))while 1:random_num01 = random.randint(int(self.lineEdit_2.text()),int(self.lineEdit_3.text()))  # 第一个要计算的数random_num02 = random.randint(int(self.lineEdit_4.text()),int(self.lineEdit_5.text()))  # 第二个要计算的数if random_num02 == 0:continueif random_num01 < random_num02:a = random_num02b = random_num01if a % b == 0:self.label_2.setText(str(a))self.label_4.setText(str(b))self.lineEdit_result.setText('')state = '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))returnelif random_num01 >= random_num02:a = random_num01b = random_num02if a % b == 0:self.label_2.setText(str(a))self.label_4.setText(str(b))self.lineEdit_result.setText('')state = '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))returnelse:self.label_7.setText('✘')self.lineEdit_result.setText('')answer_num += 1  # 总的答题数量+1self.label_15.setText(str(answer_num))self.label_16.setText(str(answer_true))while 1:random_num01 = random.randint(int(self.lineEdit_2.text()),int(self.lineEdit_3.text()))  # 第一个要计算的数random_num02 = random.randint(int(self.lineEdit_4.text()),int(self.lineEdit_5.text()))  # 第二个要计算的数if random_num02 == 0:continueif random_num01 < random_num02:a = random_num02b = random_num01if a % b == 0:self.label_2.setText(str(a))self.label_4.setText(str(b))self.lineEdit_result.setText('')state = '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))returnelif random_num01 >= random_num02:a = random_num01b = random_num02if a % b == 0:self.label_2.setText(str(a))self.label_4.setText(str(b))self.lineEdit_result.setText('')state = '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true)self.label_8.setText(state)if answer_num == topic_num:QMessageBox.information(self, '系统提示', '当前答题进度%s/%s,共答对%s题!' % (answer_num, topic_num, answer_true))returndef cal(self):if self.lineEdit.text()!='' and self.lineEdit_2.text()!='' and self.lineEdit_3.text()!='' and self.lineEdit_4.text()!='' and self.lineEdit_5.text()!='':random_num01 = random.randint(int(self.lineEdit_2.text()),int(self.lineEdit_3.text()))#第一个要计算的数random_num02 = random.randint(int(self.lineEdit_4.text()),int(self.lineEdit_5.text()))#第二个要计算的数self.label_7.setText('')self.label_8.setText('')if self.pushButton_2.isChecked():if random_num01< random_num02:self.label_2.setText(str(random_num02))self.label_4.setText(str(random_num01))else:self.label_2.setText(str(random_num01))self.label_4.setText(str(random_num02))if self.pushButton_4.isChecked():while 1:random_num01 = random.randint(int(self.lineEdit_2.text()), int(self.lineEdit_3.text()))  # 第一个要计算的数random_num02 = random.randint(int(self.lineEdit_4.text()), int(self.lineEdit_5.text()))  # 第二个要计算的数if random_num02 ==0:continueself.label_15.setText('0')self.label_16.setText('0')self.lineEdit_result.setFocus()self.lineEdit_result.selectAll()if random_num01 < random_num02:a = random_num02b = random_num01if a % b == 0:self.label_2.setText(str(a))self.label_4.setText(str(b))returnelif random_num01 >= random_num02:a =random_num01b =random_num02if a % b == 0:self.label_2.setText(str(a))self.label_4.setText(str(b))returnself.label_15.setText('0')self.label_16.setText('0')self.lineEdit_result.setFocus()self.lineEdit_result.selectAll()def save(self):if self.lineEdit.text()!='' and self.lineEdit_2.text()!='' and self.lineEdit_3.text()!='' and self.lineEdit_4.text()!='' and self.lineEdit_5.text()!='':num =int(self.lineEdit.text())range01 =int(self.lineEdit_2.text())range02 =int(self.lineEdit_3.text())range03 =int(self.lineEdit_4.text())range04 =int(self.lineEdit_5.text())signal = self.label_3.text()file_name =time.strftime('%Y_%m_%d_%H_%M_%S',time.localtime())+'.txt'with open(file_name,'w+',encoding='utf-8') as f:for i in range(num):result=str(random.randint(range01,range02))+' '+signal+' '+str(random.randint(range03,range04))+'='+'\n'f.write(result)QMessageBox.information(self,'状态提示','文件已保存,请在软件相同文件夹下打开\n文件名:%s'%file_name)def signal01(self):self.pushButton.setChecked(True)self.pushButton_2.setChecked(False)self.pushButton_3.setChecked(False)self.pushButton_4.setChecked(False)self.label_3.setText('+')def signal02(self):self.pushButton.setChecked(False)self.pushButton_2.setChecked(True)self.pushButton_3.setChecked(False)self.pushButton_4.setChecked(False)self.label_3.setText('-')def signal03(self):self.pushButton.setChecked(False)self.pushButton_2.setChecked(False)self.pushButton_3.setChecked(True)self.pushButton_4.setChecked(False)self.label_3.setText('×')def signal04(self):self.pushButton.setChecked(False)self.pushButton_2.setChecked(False)self.pushButton_3.setChecked(False)self.pushButton_4.setChecked(True)self.label_3.setText('÷')
if __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)MainWindow = window()  # 创建窗体对象MainWindow.show()  # 显示窗体sys.exit(app.exec_())  # 程序关闭时退出进程UI部分
```python
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'Calculator_UI.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(1101, 638)MainWindow.setStyleSheet("")self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.label = QtWidgets.QLabel(self.centralwidget)self.label.setGeometry(QtCore.QRect(170, 10, 751, 111))font = QtGui.QFont()font.setFamily("汉仪小麦体简")font.setPointSize(56)font.setBold(True)font.setWeight(75)self.label.setFont(font)self.label.setAlignment(QtCore.Qt.AlignCenter)self.label.setObjectName("label")self.label_2 = QtWidgets.QLabel(self.centralwidget)self.label_2.setGeometry(QtCore.QRect(80, 150, 220, 75))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(40)self.label_2.setFont(font)self.label_2.setAlignment(QtCore.Qt.AlignCenter)self.label_2.setObjectName("label_2")self.label_3 = QtWidgets.QLabel(self.centralwidget)self.label_3.setGeometry(QtCore.QRect(309, 146, 40, 75))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(40)self.label_3.setFont(font)self.label_3.setAlignment(QtCore.Qt.AlignCenter)self.label_3.setObjectName("label_3")self.label_4 = QtWidgets.QLabel(self.centralwidget)self.label_4.setGeometry(QtCore.QRect(363, 150, 220, 75))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(40)self.label_4.setFont(font)self.label_4.setAlignment(QtCore.Qt.AlignCenter)self.label_4.setObjectName("label_4")self.label_5 = QtWidgets.QLabel(self.centralwidget)self.label_5.setGeometry(QtCore.QRect(570, 150, 91, 75))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(40)self.label_5.setFont(font)self.label_5.setAlignment(QtCore.Qt.AlignCenter)self.label_5.setObjectName("label_5")self.label_7 = QtWidgets.QLabel(self.centralwidget)self.label_7.setGeometry(QtCore.QRect(920, 148, 61, 75))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(40)self.label_7.setFont(font)self.label_7.setStyleSheet("")self.label_7.setText("")self.label_7.setAlignment(QtCore.Qt.AlignCenter)self.label_7.setObjectName("label_7")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(62, 241, 80, 70))font = QtGui.QFont()font.setPointSize(40)self.pushButton.setFont(font)self.pushButton.setCheckable(True)self.pushButton.setChecked(True)self.pushButton.setObjectName("pushButton")self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)self.pushButton_2.setGeometry(QtCore.QRect(162, 241, 80, 70))font = QtGui.QFont()font.setPointSize(40)self.pushButton_2.setFont(font)self.pushButton_2.setCheckable(True)self.pushButton_2.setObjectName("pushButton_2")self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)self.pushButton_3.setGeometry(QtCore.QRect(262, 240, 80, 70))font = QtGui.QFont()font.setPointSize(40)self.pushButton_3.setFont(font)self.pushButton_3.setCheckable(True)self.pushButton_3.setObjectName("pushButton_3")self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)self.pushButton_4.setGeometry(QtCore.QRect(362, 240, 80, 70))font = QtGui.QFont()font.setPointSize(40)self.pushButton_4.setFont(font)self.pushButton_4.setCheckable(True)self.pushButton_4.setObjectName("pushButton_4")self.label_8 = QtWidgets.QLabel(self.centralwidget)self.label_8.setGeometry(QtCore.QRect(600, 350, 481, 51))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(19)self.label_8.setFont(font)self.label_8.setText("")self.label_8.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)self.label_8.setObjectName("label_8")self.label_9 = QtWidgets.QLabel(self.centralwidget)self.label_9.setGeometry(QtCore.QRect(60, 340, 371, 51))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(19)self.label_9.setFont(font)self.label_9.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)self.label_9.setObjectName("label_9")self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit.setGeometry(QtCore.QRect(430, 338, 71, 33))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(15)font.setBold(False)font.setWeight(50)self.lineEdit.setFont(font)self.lineEdit.setAlignment(QtCore.Qt.AlignCenter)self.lineEdit.setObjectName("lineEdit")self.label_10 = QtWidgets.QLabel(self.centralwidget)self.label_10.setGeometry(QtCore.QRect(60, 392, 101, 51))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(19)self.label_10.setFont(font)self.label_10.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)self.label_10.setObjectName("label_10")self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_2.setGeometry(QtCore.QRect(160, 390, 141, 33))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(15)font.setBold(False)font.setWeight(50)self.lineEdit_2.setFont(font)self.lineEdit_2.setAlignment(QtCore.Qt.AlignCenter)self.lineEdit_2.setObjectName("lineEdit_2")self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_3.setGeometry(QtCore.QRect(360, 390, 141, 33))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(15)font.setBold(False)font.setWeight(50)self.lineEdit_3.setFont(font)self.lineEdit_3.setAlignment(QtCore.Qt.AlignCenter)self.lineEdit_3.setObjectName("lineEdit_3")self.label_11 = QtWidgets.QLabel(self.centralwidget)self.label_11.setGeometry(QtCore.QRect(320, 390, 31, 31))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(19)self.label_11.setFont(font)self.label_11.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)self.label_11.setObjectName("label_11")self.lineEdit_4 = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_4.setGeometry(QtCore.QRect(160, 440, 141, 33))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(15)font.setBold(False)font.setWeight(50)self.lineEdit_4.setFont(font)self.lineEdit_4.setAlignment(QtCore.Qt.AlignCenter)self.lineEdit_4.setObjectName("lineEdit_4")self.label_12 = QtWidgets.QLabel(self.centralwidget)self.label_12.setGeometry(QtCore.QRect(60, 442, 101, 51))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(19)self.label_12.setFont(font)self.label_12.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)self.label_12.setObjectName("label_12")self.label_13 = QtWidgets.QLabel(self.centralwidget)self.label_13.setGeometry(QtCore.QRect(320, 440, 31, 31))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(19)self.label_13.setFont(font)self.label_13.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)self.label_13.setObjectName("label_13")self.lineEdit_5 = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_5.setGeometry(QtCore.QRect(360, 440, 141, 33))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(15)font.setBold(False)font.setWeight(50)self.lineEdit_5.setFont(font)self.lineEdit_5.setAlignment(QtCore.Qt.AlignCenter)self.lineEdit_5.setObjectName("lineEdit_5")self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)self.pushButton_5.setGeometry(QtCore.QRect(50, 490, 301, 41))font = QtGui.QFont()font.setFamily("造字工房力黑(非商用)常规体")font.setPointSize(17)self.pushButton_5.setFont(font)self.pushButton_5.setCheckable(False)self.pushButton_5.setObjectName("pushButton_5")self.label_14 = QtWidgets.QLabel(self.centralwidget)self.label_14.setGeometry(QtCore.QRect(550, 400, 541, 211))self.label_14.setStyleSheet("border-image: url(:/back_img/千库网_上课的孩子_元素编号12568056.png);")self.label_14.setText("")self.label_14.setObjectName("label_14")self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)self.pushButton_6.setGeometry(QtCore.QRect(360, 490, 141, 41))font = QtGui.QFont()font.setFamily("造字工房力黑(非商用)常规体")font.setPointSize(17)self.pushButton_6.setFont(font)self.pushButton_6.setCheckable(False)self.pushButton_6.setObjectName("pushButton_6")self.lineEdit_result = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_result.setGeometry(QtCore.QRect(660, 152, 221, 61))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(36)font.setBold(False)font.setWeight(50)self.lineEdit_result.setFont(font)self.lineEdit_result.setAlignment(QtCore.Qt.AlignCenter)self.lineEdit_result.setObjectName("lineEdit_result")self.label_15 = QtWidgets.QLabel(self.centralwidget)self.label_15.setGeometry(QtCore.QRect(590, 640, 71, 51))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(19)self.label_15.setFont(font)self.label_15.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)self.label_15.setObjectName("label_15")self.label_16 = QtWidgets.QLabel(self.centralwidget)self.label_16.setGeometry(QtCore.QRect(680, 640, 71, 51))font = QtGui.QFont()font.setFamily("方正准圆简体")font.setPointSize(19)self.label_16.setFont(font)self.label_16.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)self.label_16.setObjectName("label_16")self.label_6 = QtWidgets.QLabel(self.centralwidget)self.label_6.setGeometry(QtCore.QRect(60, 540, 441, 41))self.label_6.setTextFormat(QtCore.Qt.RichText)self.label_6.setObjectName("label_6")self.label_17 = QtWidgets.QLabel(self.centralwidget)self.label_17.setGeometry(QtCore.QRect(134, 566, 371, 41))self.label_17.setTextFormat(QtCore.Qt.RichText)self.label_17.setObjectName("label_17")MainWindow.setCentralWidget(self.centralwidget)self.statusBar = QtWidgets.QStatusBar(MainWindow)self.statusBar.setObjectName("statusBar")MainWindow.setStatusBar(self.statusBar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "一起学口算V1.0"))self.label.setText(_translate("MainWindow", "一  起  练  口  算"))self.label_2.setText(_translate("MainWindow", "1"))self.label_3.setText(_translate("MainWindow", "+"))self.label_4.setText(_translate("MainWindow", "1"))self.label_5.setText(_translate("MainWindow", "="))self.pushButton.setText(_translate("MainWindow", "+"))self.pushButton_2.setText(_translate("MainWindow", "-"))self.pushButton_3.setText(_translate("MainWindow", "×"))self.pushButton_4.setText(_translate("MainWindow", "÷"))self.label_9.setText(_translate("MainWindow", "请输入要挑战的题目数量:\n"
""))self.lineEdit.setText(_translate("MainWindow", "10"))self.label_10.setText(_translate("MainWindow", "范围1:"))self.lineEdit_2.setText(_translate("MainWindow", "1"))self.lineEdit_3.setText(_translate("MainWindow", "10"))self.label_11.setText(_translate("MainWindow", "~"))self.lineEdit_4.setText(_translate("MainWindow", "1"))self.label_12.setText(_translate("MainWindow", "范围2:"))self.label_13.setText(_translate("MainWindow", "~"))self.lineEdit_5.setText(_translate("MainWindow", "10"))self.pushButton_5.setText(_translate("MainWindow", "点击保存到本地文件夹"))self.pushButton_6.setText(_translate("MainWindow", "开始"))self.lineEdit_result.setText(_translate("MainWindow", "0"))self.label_15.setText(_translate("MainWindow", "0"))self.label_16.setText(_translate("MainWindow", "0"))self.label_6.setText(_translate("MainWindow", "使用说明:输入题目数量、数字的范围,选择运算符号后,点击开"))self.label_17.setText(_translate("MainWindow", "始按钮进行答题,输入答案后按回车键确认"))
import img01_rc

【PyQt5】孩子要上小学了,写个软件做练口算吧!相关推荐

  1. 小学生学计算机从几年级开始,孩子才上小学三年级,到底要不要让他学编程?...

    下面是一周问答精选 希望对你有所帮助 问:学生该参加哪一类赛事?家长如何帮助甄别? 齐颂(奇松创始人):家长们在选择赛事活动时,先要了解该比赛的主办单位,选择国家认可的教育部门主办的比赛. 其次,了解 ...

  2. 数学题 识别 批改 python_这款软件能帮小学老师家长批作业 1秒扫描口算题圈错 准确率95%...

    原标题:这款软件能帮小学老师家长批作业 1秒扫描口算题圈错 准确率95% ◆ 创始人陈明权一直在致力于发现生活中的需求,并通过技术去帮助人们提高效率. 文| 铅笔道 记者 刘璐明 "爱作业& ...

  3. 抖音上的视频用什么软件做的?

    抖音上的视频用什么软件做的?随着抖音短视频的兴起,许多人开始做起了抖音短视频,通过制作抖音短视频,获得更多播放点赞等数据.但是对于业余玩家,用什么软件制作的抖音短视频比较好呢?怎样才能制作一个好的抖音 ...

  4. 孩子快要上小学一年级了,老公就催我去工作,怎么办?

    一朋友她儿子今年要上小学一年级了,她说她老公就催着她赶紧找份工作,说她在家里太闲,没有收入,整天就是刷视频,逛街买东西,完全就是个闲人,人一闲下来就容易胡思乱想. 但朋友说现在上班很难找适合的,虽然孩 ...

  5. 12x12怎么速算_如果孩子正读小学,学会这4个乘法速算技巧,将大大提高计算速度...

    大宝上小学3年级的时候,数学成绩是我最头疼的问题,和老师沟通后老师指出我家孩子数学成绩不理想的主要原因是一做乘法题就出错. 在我多方调查,咨询专家后总结出了4个乘法速算技巧,孩子用了后计算能力有着看得 ...

  6. 时间计算题100道_B5 小学二年级数学100以内加减法口算计算题横式电子版3600道题 直接打印...

    灵活高效的计算能力是学好数学的基础,对孩子未来的学习成绩.学习习惯影响巨大!要想在数学学科上取得好成绩,那么在口算.计算上一定不能犯粗心马虎的错误,越是简单越不能忽视. 此套100以内加减法口算计算题 ...

  7. 二年级的女儿用计算机算算术,一年级的孩子一分钟口算多少题才算能达标?

    有学校要求3分钟做100题 不少家长孩子感觉有点痛苦 新学期过半,一位小学一年级家长网上发帖,对学校要求的口算很不满:"实在不明白,刚上一年级,三分钟口算100题,意义何在?"帖子 ...

  8. 孩子学计算机该不该买手机,该不该给上小学的孩子买手机?

    「 本期话题 」 该不该给上小学的孩子买手机? 很多朋友留言给我们说,最近正在纠结这个问题. 买吧,担心孩子玩手机会影响学习和视力,也担心他会沉迷游戏,更担心网上乌杂的信息"污染" ...

  9. 开学季,给上小学的孩子送什么比较好?小学生比较实用的礼物

    很快来临开学的日子,对于上小学的孩子们,送写学习用具之类,或者是孩子自身喜欢的玩具也可以的,但是因为大部分小朋友在学习时都会眨眼睛,也有些近视的现象了,所以我会选择送护眼的用具比较合适的,我看了很多, ...

最新文章

  1. 【ACL 2020】腾讯AI Lab解读三大前沿方向及入选的20篇论文
  2. mysql连接,修改密码,增加用户,显示,导入导出
  3. Quartz之入门实例
  4. 图文说明如何使用T4在VS2008里生成代码
  5. 显示和隐藏系统任务栏的类
  6. linux命令行安装谷歌浏览器,Linux(ubuntu) 三行代码搞定安装谷歌浏览器
  7. MediaPlayer 播放视频的方法
  8. Essentials of Deep Learning: Visualizing Convolutional Neural Networks in Python
  9. android cpu 压力测试,两个古董级压力测试工具 leakyapp.exe 和 cpustre.exe
  10. 16.对极几何——极线约束,收敛相机,平行图像平面,两个立体对 测验_2
  11. log explorer for sql 不存在或访问被拒绝_原创干货 | 未授权访问漏洞批量化
  12. 《深入浅出统计学》总结
  13. 电容器的 ESR 参数
  14. 保姆级win10纯净系统安装 数字权利激活工具 / KMS激活 + U盘启动盘制作
  15. 论计算机基础的重要性
  16. 多多情报通:拼多多什么软件可以看到大数据?拼多多大数据分析软件有哪些?
  17. ACM算法训练赛——STL(完结)
  18. 2K和XP的CMD命令教程(命令篇)
  19. 使用@Aspect不起作用
  20. 蓝牙配对码配置错误_漏洞问题频发,你还敢开你的蓝牙吗?

热门文章

  1. 本特利TK-3E校验仪功能与优点
  2. Microchip最新中文资料下载
  3. 《药物设计cadd-amber-aidd-薛定谔》小白参考
  4. 巴特沃斯数字低通滤波器
  5. 38个PS常用工具箱快捷键,找工具不慌、不忙、不乱(纯干货)
  6. 软考成绩到底什么时候公布?应该如何查询?
  7. 新一代ERPII 企业销售、采购及财务一体化高效管理的利器
  8. 关于“QTableWidget设置表头筛选”实现及小改——“QTableWidget设置表头筛选”引用自博主“~南柯一梦~”
  9. Java—输入数字星期,输出英文(switch语句)
  10. Struts2 漏洞集合