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()

 

 

 
 

转载于:https://www.cnblogs.com/jmlovepython/p/8446907.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyQt5是一种用于创建基于Python的图形用户界面(GUI)应用程序的工具包。它提供了包括按钮、文本框、标签等在内的各种GUI组件,开发者可以使用这些组件来构建各种功能丰富的应用程序。 以下是一个简单的PyQt5小程序源码示例: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel class MyWidget(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 300, 220) self.setWindowTitle('PyQt5小程序') self.label = QLabel(self) self.label.setText("Hello, PyQt5!") self.label.move(100, 80) self.button = QPushButton('点击我', self) self.button.setFixedWidth(100) self.button.move(100, 120) self.button.clicked.connect(self.buttonClicked) self.show() def buttonClicked(self): self.label.setText('Button clicked') if __name__ == '__main__': app = QApplication(sys.argv) widget = MyWidget() sys.exit(app.exec_()) ``` 这个小程序创建了一个窗口,窗口标题为"PyQt5小程序",大小为300x220。在窗口中放置了一个标签和一个按钮。 标签显示了初始文字"Hello, PyQt5!",按钮上显示了"点击我"。当点击按钮时,标签文字会更新为"Button clicked"。 在`initUI`方法中,使用`setGeometry`设置了窗口的位置和大小。然后创建了一个标签和一个按钮,并设置它们的文字、位置和大小。最后调用`show`方法显示窗口。 在`buttonClicked`方法中,通过调用`setText`方法更新标签的文字。 在`if __name__ == '__main__'`中,创建了一个`QApplication`应用实例,然后创建了一个`MyWidget`窗口实例,并通过`sys.exit(app.exec_())`启动应用程序的事件循环。 通过这个简单的示例代码,你可以了解如何使用PyQt5创建一个基本的GUI应用程序。你可以根据自己的需求,继续添加和修改窗口上的组件和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值