• pyqt5猜数小程序


    程序界面用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='0' #此变量是对应按钮上的数字,用于在标签上显示数字
            self.label_show(btn_i)
            
        def btn_1(self):
            btn_i='1'
            self.label_show(btn_i)
            
        def  btn_2(self):
            btn_i='2'
            self.label_show(btn_i)
            
        def btn_3(self):
            btn_i='3'
            self.label_show(btn_i)
            
        def btn_4(self):
            btn_i='4'
            self.label_show(btn_i)
            
        def btn_5(self):
            btn_i='5'
            self.label_show(btn_i)
            
        def btn_6(self):
            btn_i='6'
            self.label_show(btn_i)
            
        def btn_7(self):
            btn_i='7'
            self.label_show(btn_i)
            
        def btn_8(self):
            btn_i='8'
            self.label_show(btn_i)
            
        def btn_9(self):
            btn_i='9'
            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()
    
    
  • 相关阅读:
    Visual Studio 2010 VS IDE 编辑界面出现绿色的点 去掉绿色的空格点
    C# TreeView 拖拽节点到另一个容器Panel中简单实现
    C#GDI+ 绘制线段(实线或虚线)、矩形、字符串、圆、椭圆
    MySql.Data.dll官网下载
    线性插值法
    C#俄罗斯方块小游戏程序设计与简单实现
    C#二分查找算法设计实现
    C#获取一个数组中的最大值、最小值、平均值
    国内外工业互联网平台介绍【揭晓】工业互联网平台浪潮来临,最全的国内外平台都长的啥样!
    Windows 环境Oracle客户端下载安装
  • 原文地址:https://www.cnblogs.com/jmlovepython/p/8446907.html
Copyright © 2020-2023  润新知