猜数字小游戏

总结:
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编辑  收藏  举报

导航