企业网站制作 优帮云,腾讯企业网站建设,网站运营怎么样,建设营销型网站流程PyQt6猜数字小游戏 本文使用pyQt6实现猜数字小游戏。游戏开始给出数字范围#xff0c;猜测失败缩写给定范围。 import math
import sys
import random
from PyQt6.QtWidgets import QMainWindow, QApplication, QMessageBox
from PyQt6.QtCore import Qt
from sample import U…PyQt6猜数字小游戏 本文使用pyQt6实现猜数字小游戏。游戏开始给出数字范围猜测失败缩写给定范围。 import math
import sys
import random
from PyQt6.QtWidgets import QMainWindow, QApplication, QMessageBox
from PyQt6.QtCore import Qt
from sample import Ui_Form# 继承至界面文件的主窗口类
class MyMainWindow(QMainWindow, Ui_Form):# 生成随机数的右界random_choice [i * 100 for i in range(1, 20)]def __init__(self, parentNone):# 继承主窗口类super(MyMainWindow, self).__init__(parent)self.setupUi(self)# 随机数的右界self.guess_range None# 生成的随机数self.guess_num None# 提示范围的左界self.left None# 提示范围的右界self.right None# 产生随机数self.random_num()# 初始化功能self.initUi()def init_range(self):# 为随机数的左右界赋值self.left 1self.right self.guess_rangepropertydef _random_range(self):# 随机产生随机数的右界return random.choice(self.random_choice)def random_num(self):self.guess_range self._random_range# 产生随机数self.guess_num random.randint(1, self.guess_range)self.init_range()def initUi(self):# 提示数值范围self.label.setText(数值的范围是{}-{}.format(self.left, self.right))# 按下按钮一运行 self.guess 函数self.pushButton.clicked.connect(self.guess)# 按下按钮二运行 quit 函数self.pushButton_2.clicked.connect(QApplication.instance().quit)# 按下按钮三运行 self.reset 函数self.pushButton_3.clicked.connect(self.reset)def guess(self):# text 接受文本框中的文本text self.lineEdit.text()# 异常处理# 可处理数值型字符串其他输入提示错误try:text float(text)except:self.label.setText( 输入不合法)self.label_2.setText(数值的范围:{}-{}.format(self.left, self.right))self.lineEdit.clear()text # 文本不为空继续执行文件if text:num math.floor(text)if self.guess_num num:QMessageBox.question(self, 胜利, 恭喜你猜中了{}.format(self.guess_num), QMessageBox.StandardButton.Yes)self.reset()elif self.guess_num num:if num self.left:self.left numself.label.setText(数值的范围:{}-{}.format(self.left, self.right))self.label_2.setText( 猜小了)elif self.guess_num num:if num self.right:self.right numself.label.setText(数值的范围:{}-{}.format(self.left, self.right))self.label_2.setText( 猜大了)self.lineEdit.clear()def reset(self):# 重置游戏self.guess_range Noneself.guess_num Noneself.left Noneself.right Noneself.random_num()self.label.setText()self.label_2.setText()self.initUi()def keyPressEvent(self, e):# 设置快捷键if e.key() Qt.Key.Key_Return:self.guess()elif e.key() Qt.Key.Key_Escape:QApplication.instance().quit()elif e.key() Qt.Key.Key_R:self.reset()if __name__ __main__:app QApplication(sys.argv)myWin MyMainWindow()myWin.show()sys.exit(app.exec())# sample.py
from PyQt6 import QtCore, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName(Form)Form.resize(504, 551)self.layoutWidget QtWidgets.QWidget(Form)self.layoutWidget.setGeometry(QtCore.QRect(170, 200, 137, 151))self.layoutWidget.setObjectName(layoutWidget)self.verticalLayout_2 QtWidgets.QVBoxLayout(self.layoutWidget)self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)self.verticalLayout_2.setObjectName(verticalLayout_2)self.verticalLayout QtWidgets.QVBoxLayout()self.verticalLayout.setObjectName(verticalLayout)self.lineEdit QtWidgets.QLineEdit(self.layoutWidget)self.lineEdit.setObjectName(lineEdit)self.verticalLayout.addWidget(self.lineEdit)self.label QtWidgets.QLabel(self.layoutWidget)self.label.setText()self.label.setObjectName(label)self.verticalLayout.addWidget(self.label)self.label_2 QtWidgets.QLabel(self.layoutWidget)self.label_2.setText()self.label_2.setObjectName(label_2)self.verticalLayout.addWidget(self.label_2)self.pushButton QtWidgets.QPushButton(self.layoutWidget)self.pushButton.setObjectName(pushButton)self.verticalLayout.addWidget(self.pushButton)self.pushButton_2 QtWidgets.QPushButton(self.layoutWidget)self.pushButton_2.setObjectName(pushButton_2)self.verticalLayout.addWidget(self.pushButton_2)self.verticalLayout_2.addLayout(self.verticalLayout)self.pushButton_3 QtWidgets.QPushButton(self.layoutWidget)self.pushButton_3.setObjectName(pushButton_3)self.verticalLayout_2.addWidget(self.pushButton_3)self.label_3 QtWidgets.QLabel(Form)self.label_3.setGeometry(QtCore.QRect(170, 60, 161, 16))self.label_3.setObjectName(label_3)self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate QtCore.QCoreApplication.translateForm.setWindowTitle(_translate(Form, Form))self.pushButton.setText(_translate(Form, 确认))self.pushButton_2.setText(_translate(Form, 退出游戏))self.pushButton_3.setText(_translate(Form, 重新开始))