孩子马上要上学了,出差路上顺手写个练习口算的程序跟大家分享下,如果家里有同款的宝宝,正好可以拿去,不谢!
先说下自己的需求:
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. 开源依旧:再次分享一个进销存系统
  2. windows 系统无法启动windows event log 服务
  3. Mac 技术篇-应用程序被锁定无法进行卸载问题解决方法,文件、文件夹被锁定无法移入废纸篓处理方法,卡巴斯基被锁定如何进行卸载演示
  4. java代码块执行顺序_Java笔记 | Java代码块执行顺序测试
  5. JavaScript拖拽
  6. python模拟密码有效性检测功能_检查密码有效性(Django/Python)
  7. 阿里P8亲自讲解!javawhile循环语句用法
  8. TreeView 小技巧
  9. Koa2+Mysql搭建简易博客
  10. java数据结构之折半查找
  11. nginx 优化(收藏)
  12. 手机4k屏幕测试软件,手机4K屏、2K屏、1080p屏对比测试!惊叹
  13. css栅格布局的四种大小xs,sm,md,lg
  14. 360一键root工具 v5.1.3 pc绿色版
  15. 2017-11-20 白银解说
  16. 锅圈食汇:火锅食材超市先行者 正离“火锅“越来越远
  17. YOLO v3算法解析
  18. 电商详情页缓存架构(一)电商网站的商品详情页架构
  19. flutter 格式化时间
  20. redis中Zset数据类型最全常用命令

热门文章

  1. 兄弟连社团——全国最大的PHP技术社团
  2. 什么是卫星通信中的星基增强系统(SBAS)
  3. 在windows下安装hadoop
  4. 精确的目标检测中定位置信度的获取
  5. Ghost v11 for U3 and Ghost Explorer v11 for U3
  6. 那一年,我们在巴塞罗那找到的「ONES 图腾」
  7. 软件测试之Charles
  8. 打开管家婆软件提示:已停止工作/程序无响应
  9. star cd linux,在win下启动linux
  10. CAD错误以及解决方案