程序界面用qt设计师制作,并用pyuic5命令转换成form.py文件

#-*- coding:utf-8 -*-
from PyQt5.QtWidgets import QApplication,QWidget,QTableWidgetItem
import sys
from form import Ui_Form
import random
import time
class mywindow(QWidget,Ui_Form):
def __init__(self):
super().__init__()
self.setupUi(self)
self.btnstart.clicked.connect(self.start)
self.btnok.clicked.connect(self.ok)
self.btn0.clicked.connect(self.btn_0)
self.btn1.clicked.connect(self.btn_1)
self.btn2.clicked.connect(self.btn_2)
self.btn3.clicked.connect(self.btn_3)
self.btn4.clicked.connect(self.btn_4)
self.btn5.clicked.connect(self.btn_5)
self.btn6.clicked.connect(self.btn_6)
self.btn7.clicked.connect(self.btn_7)
self.btn8.clicked.connect(self.btn_8)
self.btn9.clicked.connect(self.btn_9)
self.btnreset.clicked.connect(self.reset) def start(self): #开始按钮事件
self.groupBox.setEnabled(True) #解除按钮群组禁用状态
self.table.clearContents() #清除表格内容
self.label_2.setText('电脑自动生成0到100之间的随机数,请猜')
self.random_number=random.randint(1,100)
self.label.clear() #清除标签内容
self.i=1 #计算步数
self.time_start=time.time() #程序运行的起始时间 #0-9各按钮的点击
def btn_0(self):
btn_i='' #此变量是对应按钮上的数字,用于在标签上显示数字
self.label_show(btn_i) def btn_1(self):
btn_i=''
self.label_show(btn_i) def btn_2(self):
btn_i=''
self.label_show(btn_i) def btn_3(self):
btn_i=''
self.label_show(btn_i) def btn_4(self):
btn_i=''
self.label_show(btn_i) def btn_5(self):
btn_i=''
self.label_show(btn_i) def btn_6(self):
btn_i=''
self.label_show(btn_i) def btn_7(self):
btn_i=''
self.label_show(btn_i) def btn_8(self):
btn_i=''
self.label_show(btn_i) def btn_9(self):
btn_i=''
self.label_show(btn_i) def label_show(self,btn_i):
if self.label.text()=='小了' or self.label.text()=='大了':
self.label.clear()
self.i+=1
text=self.label.text()
self.label.setText(text+btn_i) def ok(self): #确定按钮事件
label_text=int(self.label.text()) #将标签上的数字转换为数字类型,便于比较
table_data=QTableWidgetItem(self.label.text()) #表格内容必须先转换一下格式,才能插入表格
self.table.setItem(self.i-1,0,table_data) #表格显示步数 if label_text == self.random_number: #标签上的数字和真实随机数比较
self.label.setText('恭喜过关')
self.table.setItem(self.i-1,1,QTableWidgetItem(self.label.text())) #表格显示过关
time_end=time.time()
spend_time=int(time_end-self.time_start)
self.label_2.setText('你一共用了{}秒,用了{}步'.format(spend_time, self.i))
elif label_text<self.random_number:
self.label.setText('小了')
self.table.setItem(self.i-1,1,QTableWidgetItem(self.label.text())) #表格显示小了
else:
self.label.setText('大了')
self.table.setItem(self.i-1,1,QTableWidgetItem(self.label.text())) #表格显示大了 def reset(self): #重置按钮
text=self.label.text()
self.label.setText(text[0:-1]) #原标签内容减去最后一个字母,再显示出来 if __name__=='__main__':
app=QApplication(sys.argv)
w=mywindow()
w.show()
app.exec()

最新文章

  1. kettle系列-我的开源kettle管理平台[kettle-manager]介绍
  2. 一鼓作气 博客--第一篇 note1
  3. Linux服务器中木马(肉鸡)手工清除方法
  4. MVC5 + EF6 完整入门教程三
  5. 快速创建maven 工程:simple java工程,webapp
  6. UNIX 信号基本概念
  7. MAC终端显示隐藏文件,关闭显示
  8. New Start!
  9. 网易云课堂_程序设计入门-C语言_第三周:循环_2数字特征值
  10. ReplaceGoogleCDN:将 Google CDN 更换国家
  11. 计算CPU的MIPS
  12. VWmare设置挂载目录
  13. Oracle分组小计、总计示例(grouping sets的使用)
  14. 站在DevOps肩膀上的TestOps(一)
  15. Python发邮件的小脚本
  16. Second LearningConvolutionalNeuralNetworksforGraphs Experience
  17. ENC28J60学习笔记——第1部分
  18. UVA 1103 How Many O&#39;s?
  19. Statement与PreparedStatement
  20. 【祥哥带你玩HoloLens开发】了解如何实现远程主机为HoloLens实时渲染

热门文章

  1. bzoj千题计划164:bzoj5123: 线段树的匹配
  2. github 新创建repositories
  3. python的数字IP实现
  4. HDU 2087 剪花布条 (KMP 不允许重叠的匹配)
  5. 25、LinkedList特有方法
  6. glut glew区别
  7. 2016.6.19——Length of Last Word
  8. zookeeper集群查看状态时报错Error contacting service. It is probably not running的一些坑以及解决办法
  9. ARC073E Ball Coloring
  10. docker stack 部署 filebeat