怎么用PyQt5制作一个猜数字小游戏
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天小编给大家分享一下怎么用PyQt5制作一个猜数字小游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我
千家信息网最后更新 2026年11月03日怎么用PyQt5制作一个猜数字小游戏
今天小编给大家分享一下怎么用PyQt5制作一个猜数字小游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
开始之前,直接来看一下实现后的效果。
将PyQt5的相关模块直接导入即可。
from PyQt5.QtGui import *from PyQt5.QtCore import *from PyQt5.QtWidgets import *
为了照顾一下新关注的童鞋,这里介绍一下PyQt5的安装,还是采用pip的安装方式。
pip install PyQt5
将准备好的样式导入到代码块中。
# 主题样式模块引用from QCandyUi import CandyWindow
文件和随机数相关的模块导入进来。
import sysimport random
界面编写函数 init_ui,初始化UI界面及页面布局代码块。
def init_ui(self): self.setWindowTitle('猜数字游戏 公众号:[Python 集中营]') self.setWindowIcon(QIcon('数字.ico')) self.setFixedSize(500, 350) self.msg = QLabel() self.msg.setText('猜数字游戏') self.msg.setStyleSheet( 'font-size:50px;text-align:center;font-weight:bold;font-family:"Microsoft JhengHei";') self.msg.setAlignment(Qt.AlignCenter) self.in_num = QLineEdit() self.in_num.setPlaceholderText('请输入目标数字') self.in_num.setAlignment(Qt.AlignCenter) self.in_num_btn = QPushButton() self.in_num_btn.setText('就是它了') self.in_num_btn.clicked.connect(self.in_num_btn_click) self.tar_num_btn = QPushButton() self.tar_num_btn.setText('显示数字') self.tar_num_btn.clicked.connect(self.tar_num_btn_click) self.tar_num = QLabel() self.tar_num.setText('#####') self.tar_num.setFixedWidth(50) self.generate_num_btn = QPushButton() self.generate_num_btn.setText(' 生成目标数字 ') self.generate_num_btn.clicked.connect(self.generate_num_btn_click) hbox = QHBoxLayout() hbox.addWidget(self.tar_num) hbox.addWidget(self.tar_num_btn) hbox.addStretch(1) hbox.addWidget(self.generate_num_btn) vbox = QVBoxLayout() vbox.addStretch(1) vbox.addWidget(self.msg) vbox.addWidget(self.in_num) vbox.addWidget(self.in_num_btn) vbox.addStretch(1) vbox.addLayout(hbox) self.setLayout(vbox)槽函数 generate_num_btn_click,用于生成猜数字游戏的目标数字。
def generate_num_btn_click(self): tar_num = random.randint(1, 99) self.num = tar_num # 重置最大最小值 self.max_num = 100 # 当前最大值 self.min_num = 0 # 当前最小值
槽函数 tar_num_btn_click,用于显示或隐藏目标数字。
def tar_num_btn_click(self): if self.num != 0 and self.tar_num_btn.text().strip() == '显示数字': self.tar_num.setText(str(self.num)) self.tar_num_btn.setText('隐藏数字') elif self.tar_num_btn.text().strip() == '隐藏数字': self.tar_num.setText('#####') self.tar_num_btn.setText('显示数字')槽函数 in_num_btn_click,用于处理猜数字实现的主要代码逻辑。
def in_num_btn_click(self): try: in_num = int(self.in_num.text().strip()) if in_num < self.min_num or in_num >= self.max_num: pass else: if self.num == 0: self.msg.setText('没有目标数字') elif in_num == self.num: self.msg.setText('恭喜你,猜对了') else: if in_num < self.num: self.msg.setText(str(in_num) + ' - ' + str(self.max_num)) self.min_num = in_num elif in_num > self.num: self.msg.setText(str(self.min_num) + ' - ' + str(in_num)) self.max_num = in_num except: self.msg.setText('请输入数字')最后,通过调用主题模块的蓝色主题样式是整个App变得漂亮。
CandyWindow.createWindow(GuessNumber(), theme='blue', title='猜数字游戏 公众号:[Python 集中营]', ico_path='数字.ico')
完整代码
# -*- coding:utf-8 -*-# @author Python 集中营# @date 2022/2/10# @file test1.py# done# GUI猜数字游戏from PyQt5.QtGui import *from PyQt5.QtCore import *from PyQt5.QtWidgets import *# 主题样式模块引用from QCandyUi import CandyWindowimport sysimport randomclass GuessNumber(QWidget): def __init__(self): super(GuessNumber, self).__init__() self.num = 0 # 目标数字 self.max_num = 100 # 当前最大值 self.min_num = 0 # 当前最小值 self.init_ui() def init_ui(self): self.setWindowTitle('猜数字游戏 公众号:[Python 集中营]') self.setWindowIcon(QIcon('数字.ico')) self.setFixedSize(500, 350) self.msg = QLabel() self.msg.setText('猜数字游戏') self.msg.setStyleSheet( 'font-size:50px;text-align:center;font-weight:bold;font-family:"Microsoft JhengHei";') self.msg.setAlignment(Qt.AlignCenter) self.in_num = QLineEdit() self.in_num.setPlaceholderText('请输入目标数字') self.in_num.setAlignment(Qt.AlignCenter) self.in_num_btn = QPushButton() self.in_num_btn.setText('就是它了') self.in_num_btn.clicked.connect(self.in_num_btn_click) self.tar_num_btn = QPushButton() self.tar_num_btn.setText('显示数字') self.tar_num_btn.clicked.connect(self.tar_num_btn_click) self.tar_num = QLabel() self.tar_num.setText('#####') self.tar_num.setFixedWidth(50) self.generate_num_btn = QPushButton() self.generate_num_btn.setText(' 生成目标数字 ') self.generate_num_btn.clicked.connect(self.generate_num_btn_click) hbox = QHBoxLayout() hbox.addWidget(self.tar_num) hbox.addWidget(self.tar_num_btn) hbox.addStretch(1) hbox.addWidget(self.generate_num_btn) vbox = QVBoxLayout() vbox.addStretch(1) vbox.addWidget(self.msg) vbox.addWidget(self.in_num) vbox.addWidget(self.in_num_btn) vbox.addStretch(1) vbox.addLayout(hbox) self.setLayout(vbox) def generate_num_btn_click(self): tar_num = random.randint(1, 99) self.num = tar_num # 重置最大最小值 self.max_num = 100 # 当前最大值 self.min_num = 0 # 当前最小值 def tar_num_btn_click(self): if self.num != 0 and self.tar_num_btn.text().strip() == '显示数字': self.tar_num.setText(str(self.num)) self.tar_num_btn.setText('隐藏数字') elif self.tar_num_btn.text().strip() == '隐藏数字': self.tar_num.setText('#####') self.tar_num_btn.setText('显示数字') def in_num_btn_click(self): try: in_num = int(self.in_num.text().strip()) if in_num < self.min_num or in_num >= self.max_num: pass else: if self.num == 0: self.msg.setText('没有目标数字') elif in_num == self.num: self.msg.setText('恭喜你,猜对了') else: if in_num < self.num: self.msg.setText(str(in_num) + ' - ' + str(self.max_num)) self.min_num = in_num elif in_num > self.num: self.msg.setText(str(self.min_num) + ' - ' + str(in_num)) self.max_num = in_num except: self.msg.setText('请输入数字')if __name__ == '__main__': app = QApplication(sys.argv) w = CandyWindow.createWindow(GuessNumber(), theme='blue', title='猜数字游戏 公众号:[Python 集中营]', ico_path='数字.ico') w.show() sys.exit(app.exec_())以上就是"怎么用PyQt5制作一个猜数字小游戏"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
数字
目标
最大
最小
模块
集中营
主题
代码
公众
函数
样式
知识
篇文章
输入
就是
最大值
生成
小游戏
制作
对了
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
华服互联网科技靠谱吗
深圳恒合互联网络科技有限公司
重庆互联网络科技
与互联网科技公司
互联网金融 金融科技
佩信高科技互联网
开启互联网科技时代小说
互联网和高科技公司
玖二柒互联网科技公司待遇
互联网之后的科技是什么
互联网科技和信息
互联网科技的全部知识
为客找房互联网科技公司怎么样
互联网与数字科技关系
版纳互联网科技选哪家
互联网科技职业技能培训学校
互联网科技创业计划的风险分析
科技互联网企业在行动
互联网科技创业有什么好项目
瑰夏咖啡
合肥互联网科技公司
火传媒上海互联网科技
金融科技和互联网金融
深圳市运趣互联网科技有限公司
互联网系的金融科技公司
互联网软件和科技
深圳市罗太互联网科技有限公司
长沙茂晟互联网科技有限公司
如何强化互联网金融科技