用QT写的一个小程序
来源:互联网 发布:北大青鸟网络培训 编辑:程序博客网 时间:2024/04/28 18:35
import sysfrom PyQt4 import QtGuiimport randomInfo=["欢迎使用上机答题系统,开始答题:" , "当前是第 " , " 题,您还有 " , " 次机会:" , "您的回答错误,请继续尝试.." , "您的总得分是 : " ];resultInfo = [ 'SMART' ,'GOOD' ,'OK' ,'PASS' ,'TRY AGAIN'];class Sunyuqiang(QtGui.QWidget): def __init__(self): super(Sunyuqiang, self).__init__() self.center() self.initUI() def initUI(self): self.resize(400, 150) self.setWindowTitle('小学生测验') self.btn = QtGui.QPushButton('题目', self) self.btn.resize(60,25) self.btn.move(50, 50) self.ans = QtGui.QLineEdit(self) self.ans.resize(300, 25) self.ans.move(50, 20) self.le = QtGui.QLineEdit(self) self.le.resize(200,25) self.le.move(150, 50) self.btn = QtGui.QPushButton('提示', self) self.btn.resize(60, 25) self.btn.move(50, 80) self.req = QtGui.QLineEdit(self) self.req.resize(200, 25) self.req.move(150, 80) self.req = QtGui.QLineEdit(self) self.req.resize(200, 25) self.req.move(150, 80) self.btn = QtGui.QPushButton('评价', self) self.btn.resize(60, 25) self.btn.move(50, 110) self.sco = QtGui.QLineEdit(self) self.sco.resize(200, 25) self.sco.move(150, 110) self.show() self.showQuestionDialog() def closeEvent(self, event): reply = QtGui.QMessageBox.question(self, '是否退出', "Are you sure to quit?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if reply == QtGui.QMessageBox.Yes: event.accept() else: event.ignore() def showDialog(self,question): text, ok = QtGui.QInputDialog.getText(self, question, '输入你的答案:') return text def center(self): screen = QtGui.QDesktopWidget().screenGeometry() size = self.geometry() self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2) def showQuestionDialog(self): print(Info[0]) sum = 0 for i in range(0, 10): while 1: x1 = random.randrange(0, 51, 1) x2 = random.randrange(0, 51, 1) if x1 + x2 <= 50 and x1 - x2 >= 0: break res = 0 question = " " flag = random.choice("+-") if str(flag) == "+": res = x1 + x2 question = str(x1) + '+' + str(x2) + '=' + '?' self.le.setText(str(question)) for tryTime in [3, 2, 1]: self.ans.setText(Info[1] + str(i + 1) + Info[2] + str(tryTime) + Info[3]) x=self.showDialog(question) if x=='exit:': return if x != str(res): self.req.setText(Info[4]) if tryTime==1: self.req.setText(question+'正确答案:' + str(res)) if x == str(res) and tryTime == 3: sum = sum + 10 self.req.setText('回答正确') break if x == str(res) and tryTime == 2: sum = sum + 7 self.req.setText('回答正确') break if x == str(res) and tryTime == 1: sum = sum + 5 self.req.setText('回答正确') break else: res = x1 - x2 question = str(x1) + '-' + str(x2) + '=' + '?' self.le.setText(str(question)) for tryTime in [3, 2, 1]: self.ans.setText(Info[1] + str(i + 1) + Info[2] + str(tryTime) + Info[3]) x=self.showDialog(question) if x=='exit:': return if x != str(res): self.req.setText(Info[4]) if tryTime==1: self.req.setText(question+'正确答案:' + str(res)) if x == str(res) and tryTime == 3: sum = sum + 10 self.req.setText('回答正确') break if x == str(res) and tryTime == 2: sum = sum + 7 self.req.setText('回答正确') break if x == str(res) and tryTime == 1: sum = sum + 5 self.req.setText('回答正确') break print('检测结束') print(Info[5] + str(sum)) if sum >= 90: self.sco.setText(str(sum)+'分'+'您的评价为' + resultInfo[0]) if sum < 90 and sum >= 80: self.sco.setText(str(sum)+'分'+'您的评价为' + resultInfo[1]) if sum < 80 and sum >= 70: self.sco.setText(str(sum)+'分'+'您的评价为' + resultInfo[2]) if sum < 70 and sum >= 60: self.sco.setText(str(sum)+'分'+'您的评价为' + resultInfo[3]) if sum < 60: self.sco.setText(str(sum)+'分'+'您的评价为' + resultInfo[4])def main(): app = QtGui.QApplication(sys.argv) syq = Sunyuqiang() sys.exit(app.exec_())if __name__ == '__main__': main()
阅读全文
0 0
- 用QT写的一个小程序
- 用lucene写的一个小程序
- linux下用qt写的的串口小程序
- 用Qt练习C++写一个小的阶乘对话框
- qt写的一个计算器程序
- 一个用FASM写的Win32小程序
- 一个用python和django写的小程序
- 用PHP写的一个文本处理小程序
- 用java写的一个斗地主发牌小程序
- 用存储过程写的一个小递归程序
- 用java写一个小的记事本程序
- 用MATLAB写一个发邮件的小程序
- 用Javasrcipt写一个计算器的小程序[代码]
- 用Python写一个可以记日记的小程序
- 写一个关闭显示器的小程序
- 写一个关闭显示器的小程序
- 写一个关闭显示器的小程序
- 写的一个定时小程序
- SpringMVC学习笔记(四)-----WTF?换教程再来一遍
- DeepLearning tutorial(6)易用的深度学习框架Keras简介
- 面试题09:Calculate mean and concatenate string
- C++ reverse
- KMP
- 用QT写的一个小程序
- Java 线程的初识
- 通俗理解信号量
- 欢迎使用CSDN-markdown编辑器
- 第四次任务
- 搭建hibernate环境 使用JDBC连接数据库
- Python操作SQLite/MySQL/LMDB/LevelDB
- 通知简单用法
- 树莓派gparted启动失败解决方法