猜数字小游戏
总结:
1。下面这行代码用于点击关闭的时候提示弹窗;
def closeEvent(self, event): reply = QMessageBox.question(self, '确认', '确认退出吗?', QMessageBox.Yes|QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore()
遗留问题:机制还不是很清楚,还有,为什么只是定义了一个方法,而没有调用呢?
2.怎么判断输入为空?
原来的程序它没写完
def gass(self): number = int(self.lineEdit.text()) # if self.lineEdit.text().isEmpty(): # QMessageBox.about(self, '警告', '必须输入一个0-10的数字!') # self.lineEdit.clear() # self.lineEdit.setFocus() if number > self.num: QMessageBox.about(self, '结果', '猜大了!') self.textEdit.append(self.lineEdit.text()+' 猜大了!') self.lineEdit.clear() self.lineEdit.setFocus() elif number < self.num: QMessageBox.about(self, '结果', '猜小了!') self.textEdit.append(self.lineEdit.text()+' 猜小了!') self.lineEdit.clear() self.lineEdit.setFocus() elif number == self.num: QMessageBox.about(self, '结果', '恭喜你猜对了!') self.textEdit.append(self.lineEdit.text()) self.num = random.randint(0,10) print(self.num) self.lineEdit.clear() self.textEdit.clear() self.lineEdit.setFocus() else: pass
我改了一下:
def gass(self): number = self.lineEdit.text() if number == '': QMessageBox.about(self, '警告', '必须输入一个0-10的数字!') self.textEdit.append(' 必须输入一个0-10的数字!') self.lineEdit.clear() self.lineEdit.setFocus() else: number=int(number) if number > self.num: QMessageBox.about(self, '结果', '猜大了!') self.textEdit.append(self.lineEdit.text()+' 猜大了!') self.lineEdit.clear() self.lineEdit.setFocus() elif number < self.num: QMessageBox.about(self, '结果', '猜小了!') self.textEdit.append(self.lineEdit.text()+' 猜小了!') self.lineEdit.clear() self.lineEdit.setFocus() elif number == self.num: QMessageBox.about(self, '结果', '恭喜你猜对了!') self.textEdit.append(self.lineEdit.text()) self.num = random.randint(0,10) print(self.num) self.lineEdit.clear() self.textEdit.clear() self.lineEdit.setFocus() else: pass
.
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox from lianx import Ui_Form import random,math import sys class mywindow(Ui_Form, QWidget): def __init__(self): super(mywindow, self).__init__() self.setupUi(self) self.num = random.randint(0,10) self.setWindowTitle('猜数字') print(self.num) def closeEvent(self, event): reply = QMessageBox.question(self, '确认', '确认退出吗?', QMessageBox.Yes|QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() def gass(self): number = int(self.lineEdit.text()) # if self.lineEdit.text().isEmpty(): # QMessageBox.about(self, '警告', '必须输入一个0-10的数字!') # self.lineEdit.clear() # self.lineEdit.setFocus() if number > self.num: QMessageBox.about(self, '结果', '猜大了!') self.textEdit.append(self.lineEdit.text()+' 猜大了!') self.lineEdit.clear() self.lineEdit.setFocus() elif number < self.num: QMessageBox.about(self, '结果', '猜小了!') self.textEdit.append(self.lineEdit.text()+' 猜小了!') self.lineEdit.clear() self.lineEdit.setFocus() elif number == self.num: QMessageBox.about(self, '结果', '恭喜你猜对了!') self.textEdit.append(self.lineEdit.text()) self.num = random.randint(0,10) print(self.num) self.lineEdit.clear() self.textEdit.clear() self.lineEdit.setFocus() else: pass if __name__ == '__main__': app = QApplication(sys.argv) w = mywindow() w.pushButton.clicked.connect(w.gass) w.show() sys.exit(app.exec_()) # ———————————————— # 版权声明:本文为CSDN博主「coding上下求索」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 # 原文链接:https://blog.csdn.net/shangxiaqiusuo1/article/details/81167644
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'csz.ui' # # Created by: PyQt5 UI code generator 5.6 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(386, 252) self.gridLayout = QtWidgets.QGridLayout(Form) self.gridLayout.setObjectName("gridLayout") self.textEdit = QtWidgets.QTextEdit(Form) self.textEdit.setObjectName("textEdit") self.gridLayout.addWidget(self.textEdit, 0, 0, 1, 1) self.label = QtWidgets.QLabel(Form) font = QtGui.QFont() font.setFamily("Arial") font.setPointSize(18) self.label.setFont(font) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 1, 0, 1, 1) self.lineEdit = QtWidgets.QLineEdit(Form) self.lineEdit.setObjectName("lineEdit") self.gridLayout.addWidget(self.lineEdit, 2, 0, 1, 1) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setObjectName("pushButton") self.gridLayout.addWidget(self.pushButton, 3, 0, 1, 1) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.label.setText(_translate("Form", "请在下面输入想要猜的数字:0-10"))
self.pushButton.setText(_translate("Form","试试看"))
———————————————— 版权声明:本文为CSDN博主「coding上下求索」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/shangxiaqiusuo1/article/details/81167644
posted on 2020-03-19 13:33 dandanduba 阅读(189) 评论(0) 编辑 收藏 举报