PyQt5 猜数字的例子

时间:2021-02-16 23:02:14

猜一猜

#导入需要的模块
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QMessageBox,QLineEdit
from PyQt5.QtGui import QIcon
from random import randint
class Example(QWidget):
    #类初始化,产生0-10的数字
    def __init__(self):
        super().__init__()
        self.initUI()
        self.num=randint(1,10)

    def initUI(self):
        self.setGeometry(300,300,300,220)
        self.setWindowTitle("早点毕业")
        self.setWindowIcon(QIcon('x.png'))

        self.bt=QPushButton('猜',self)#创建一个按钮对象
        self.bt.setGeometry(115,150,70,30)
        self.bt.setToolTip('点击猜数字')#创建一个工具提示,鼠标停留在按钮上就会实现
        self.bt.clicked.connect(self.showMessage)#单击按钮调用showMessage

        self.text=QLineEdit('输入数字',self)#创建一个QLineEdit对象
        self.text.selectAll()#将‘输入数字’全选,方便输入数字,省了手动删除
        self.text.setFocus()#将焦点置于文本蓝中,方便输入
        self.text.setGeometry(80,50,150,30)

        self.show()

    def showMessage(self):
        guessnumber=int(self.text.text())
        print(self.num)

        if guessnumber>self.num:
            QMessageBox.about(self,'看结果','大了')#弹出一个对话框,告诉你结果
            self.text.setFocus()
        elif guessnumber<self.num:
            QMessageBox.about(self,'看结果','小了')
            self.text.setFocus()
        else:
            QMessageBox.about(self,'看结果','ok,again')
            self.num=randint(1,100)
            self.text.clear()
            self.text.setFocus()

    def closeEvent(self,event):
        reply=QMessageBox.question(self,'sure','quit?',QMessageBox.Yes|QMessageBox.No,QMessageBox.No)
        if reply==QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex=Example()
    sys.exit(app.exec_())

PyQt5 猜数字的例子
PyQt5 猜数字的例子
PyQt5 猜数字的例子
PyQt5 猜数字的例子
PyQt5 猜数字的例子