python+pyqt5+qt designer小程序

相关配置:

Anaconda 4.2.0 (64-bit)
Python 3.5.2

qt designer设计界面如下:

转换成py文件后,csz.py程序如下:

# -*- 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", "我猜"))

新建一个run.py文件,程序如下:

# -*- coding: utf-8 -*-

from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox
from csz import Ui_Form
import numpy as np
import sys


class mywindow(Ui_Form, QWidget):
    def __init__(self):
        super(mywindow, self).__init__()
        self.setupUi(self)
        self.num = np.random.randint(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 = np.random.randint(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_())

运行结果如下:

       我曾经跨过山和大海,也穿过人山人海,我曾经拥有着的一切,转眼都飘散如烟,我曾经失落失望失掉所有方向,直到看见平凡才是唯一的答案。
——韩寒《平凡之路》

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值