Guessing game (pyqt5 + python3)

Copyright: Reprinted please contact: [email protected] https://blog.csdn.net/weixin_40928253/article/details/89717056
import sys
from random import randint
from PyQt5.QtWidgets import QApplication ,QWidget , QGridLayout, QPushButton, QLabel, QLineEdit, QTextBrowser

class Winform(QWidget):
    def __init__(self,parent=None):
        super(Winform,self).__init__(parent)
        self.setWindowTitle("猜一个100以内的数")
        self.move(200,100)    #设置窗口的位置
        self.resize(650,300)    #设置窗口的长宽
        self.flag = 1

        QLabel_1 = QLabel
        QLabel_2 = QLabel
        self.QLineEdit_1 = QLineEdit(self)
        self.QPushButton_1 = QPushButton(self)
        self.QTextBrowser_1 = QTextBrowser(self)
        grid = QGridLayout()    #网格布局
        grid.addWidget( QLabel_1('请输入一个100以内的正整数'),0,0 )
        grid.addWidget( self.QLineEdit_1,0,1 )
        grid.addWidget( self.QPushButton_1,0,2 )
        grid.addWidget( QLabel_2("              相关信息显示"),1,0 )
        grid.addWidget( self.QTextBrowser_1,1,1,1,2 )
        grid.setSpacing( 20 )    #设置各控件之间的间距
        self.setLayout(grid)
        QLabel_1.setStyleSheet(self,'font-size:15px; ')    #设置QLabel_1字体大小为15
        self.QPushButton_1.setText("猜")

        global value
        maxValue = 100
        value = randint(1,maxValue)
        value = str(value)
        self.QTextBrowser_1.append('游戏规则:从1-100中随机选取一个正整数作为谜底,您一共有7次机会。在上面文本框中输入您的数字,开始猜数字游戏!')
        self.QPushButton_1.clicked.connect(self.Call_1)    # 信号连接到指定槽

    def stopgame(self):
        self.QTextBrowser_1.setText("")
        sys.exit()


    def Call_1(self):
        maxTimes = 7
        num_1 = str(self.QLineEdit_1.text())
        self.QLineEdit_1.clear()
        if self.flag != maxTimes:
           self.QTextBrowser_1.append('第%s次输入:' % self.flag)
           if num_1 == value:
               self.QTextBrowser_1.append('您猜的数字是:%s,祝贺!猜对了!(Congratulations!)' % num_1)
               self.flag += 1
               self.QPushButton_1.clicked.connect(self.stopgame)
           else:
               if num_1 > value:
                   self.QTextBrowser_1.append('您猜的数字是:%s,猜大了,应减小。(Too big.)' % num_1)
                   self.flag += 1
               else:
                   self.QTextBrowser_1.append('您猜的数字是:%s,猜小了,应增大。(Too little.)' % num_1)
                   self.flag += 1
        else:
            self.QTextBrowser_1.append('第%s次输入:' % self.flag)
            if num_1 == value:
                self.QTextBrowser_1.append('您猜的数字是:%s,祝贺!猜对了!(Congratulations!)' % num_1)
            else:
                self.QTextBrowser_1.append('您猜的数字是:%s,不正确!(Game Over.FALL!)' % num_1)
                self.QTextBrowser_1.append('您的机会已用完,请退出后重新开始游戏')
            self.QTextBrowser_1.append('这个数是(The value is)' + value)
            self.QPushButton_1.clicked.connect(self.stopgame)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = Winform()
    form.show()
    sys.exit(app.exec_())

 

Guess you like

Origin blog.csdn.net/weixin_40928253/article/details/89717056