怎么用PyQt5制作一个猜数字小游戏(pyqt5,开发技术)

时间:2024-05-04 11:41:28 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

开始之前,直接来看一下实现后的效果。

怎么用PyQt5制作一个猜数字小游戏

将PyQt5的相关模块直接导入即可。

fromPyQt5.QtGuiimport*fromPyQt5.QtCoreimport*fromPyQt5.QtWidgetsimport*

为了照顾一下新关注的童鞋,这里介绍一下PyQt5的安装,还是采用pip的安装方式。

pipinstallPyQt5

将准备好的样式导入到代码块中。

#主题样式模块引用fromQCandyUiimportCandyWindow

文件和随机数相关的模块导入进来。

importsysimportrandom

界面编写函数 init_ui,初始化UI界面及页面布局代码块。

definit_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:"MicrosoftJhengHei";')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,用于生成猜数字游戏的目标数字。

defgenerate_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,用于显示或隐藏目标数字。

deftar_num_btn_click(self):ifself.num!=0andself.tar_num_btn.text().strip()=='显示数字':self.tar_num.setText(str(self.num))self.tar_num_btn.setText('隐藏数字')elifself.tar_num_btn.text().strip()=='隐藏数字':self.tar_num.setText('#####')self.tar_num_btn.setText('显示数字')

槽函数 in_num_btn_click,用于处理猜数字实现的主要代码逻辑。

defin_num_btn_click(self):try:in_num=int(self.in_num.text().strip())ifin_num<self.min_numorin_num>=self.max_num:passelse:ifself.num==0:self.msg.setText('没有目标数字')elifin_num==self.num:self.msg.setText('恭喜你,猜对了')else:ifin_num<self.num:self.msg.setText(str(in_num)+'-'+str(self.max_num))self.min_num=in_numelifin_num>self.num:self.msg.setText(str(self.min_num)+'-'+str(in_num))self.max_num=in_numexcept:self.msg.setText('请输入数字')

最后,通过调用主题模块的蓝色主题样式是整个App变得漂亮。

CandyWindow.createWindow(GuessNumber(),theme='blue',title='猜数字游戏公众号:[Python集中营]',ico_path='数字.ico')

完整代码

#-*-coding:utf-8-*-#@authorPython集中营#@date2022/2/10#@filetest1.py#done#GUI猜数字游戏fromPyQt5.QtGuiimport*fromPyQt5.QtCoreimport*fromPyQt5.QtWidgetsimport*#主题样式模块引用fromQCandyUiimportCandyWindowimportsysimportrandomclassGuessNumber(QWidget):def__init__(self):super(GuessNumber,self).__init__()self.num=0#目标数字self.max_num=100#当前最大值self.min_num=0#当前最小值self.init_ui()definit_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:"MicrosoftJhengHei";')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)defgenerate_num_btn_click(self):tar_num=random.randint(1,99)self.num=tar_num#重置最大最小值self.max_num=100#当前最大值self.min_num=0#当前最小值deftar_num_btn_click(self):ifself.num!=0andself.tar_num_btn.text().strip()=='显示数字':self.tar_num.setText(str(self.num))self.tar_num_btn.setText('隐藏数字')elifself.tar_num_btn.text().strip()=='隐藏数字':self.tar_num.setText('#####')self.tar_num_btn.setText('显示数字')defin_num_btn_click(self):try:in_num=int(self.in_num.text().strip())ifin_num<self.min_numorin_num>=self.max_num:passelse:ifself.num==0:self.msg.setText('没有目标数字')elifin_num==self.num:self.msg.setText('恭喜你,猜对了')else:ifin_num<self.num:self.msg.setText(str(in_num)+'-'+str(self.max_num))self.min_num=in_numelifin_num>self.num:self.msg.setText(str(self.min_num)+'-'+str(in_num))self.max_num=in_numexcept: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_())
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:怎么用PyQt5制作一个猜数字小游戏的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:ssm怎么实现视频的上传和播放下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18