import sys
import random
from PyQt5.QtWidgets import (QWidget,QApplication,QHBoxLayout,QVBoxLayout,
QLineEdit,QPushButton,QMessageBox)
class MyProject(QWidget):
def __init__(self):
super().__init__()
self.answer = random.randint(0,100)
# print(self.answer)
self.initUI()
def initUI(self):
w = QWidget(self)
hb = QHBoxLayout()
hb.addStretch(1)
vb = QVBoxLayout()
self.le = QLineEdit("输入0-100之间的整数")
self.le.selectAll()
self.le.setFocus()
wc = QPushButton("我猜")
wc.setToolTip("看看对不对")
wc.clicked.connect(self.checkAnswer)
vb.addStretch(1)
vb.addWidget(self.le)
vb.addSpacing(50)
vb.addWidget(wc)
vb.addStretch(1)
hb.addLayout(vb)
hb.addStretch(1)
self.setLayout(hb)
self.resize(300,300)
self.show()
def checkAnswer(self):
if not self.le.text().isdigit():
QMessageBox.about(self,"提示","请输入0-100之间的整数")
self.le.selectAll()
self.le.setFocus()
return
num = int(self.le.text())
if num < self.answer:
QMessageBox.about(self,"提示","猜小了")
self.le.selectAll()
self.le.setFocus()
elif num > self.answer:
QMessageBox.about(self,"提示","猜大了")
self.le.selectAll()
self.le.setFocus()
else:
re = QMessageBox.question(self,"提示","猜对了:" + str(num) + ",还来吗?",QMessageBox.Yes|QMessageBox.No)
if re == QMessageBox.Yes:
self.answer = random.randint(0,100)
self.le.clear()
self.le.setFocus()
# print(self.answer)
else:
self.close()
if __name__ == '__main__':
app = QApplication(sys.argv)
mp = MyProject()
sys.exit(app.exec_())
原文
PyQt 实例:猜数字
最新推荐文章于 2024-04-04 11:09:43 发布