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