前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyQt十讲 | 零基础教你做一个猜谜游戏

PyQt十讲 | 零基础教你做一个猜谜游戏

作者头像
潘永斌
发布2019-10-08 17:07:26
1.1K0
发布2019-10-08 17:07:26
举报
文章被收录于专栏:看那个码农看那个码农
在前面的学习中,我们对PyQt的基本使用、Qt Designer与Python编码的工作流程有了基本的学习。同时也掌握了Qt Designer中的布局方式和使用Python代码来实现布局。

在本篇推文中,我们将融合之前几篇推文学习到的知识,通过Qt Designer来设计一个简单的猜谜猜数字游戏。跟随着系统提示,让玩家猜出正确的数字。

开发工具准备

1.Pycharm 2019.1.3社区版

2.Anaconda(Python 3.6.0,PyQt5)

开发流程

1

在Pycharm中打开Qt designer,如下所示:

在Tool工具选取

Tool->External Tools->Qt Design

即可打开Qt Designer

因为设计的游戏用不到菜单栏,所以此处的窗口选择Widget。创建的Widget窗口没有菜单栏。

2

从工具栏区域选择拖动一个textEdit控件,一个label控件,一个lineEdit控件,一个pushButton控件至设计窗口处。

双击label控件,

将其内容改为“请在下面输入想要猜的数字:1-10

双击pushButton控件,

将其内容改为“我猜”。

3

从上到下选中四个控件,如下所示:

进行垂直布局,如下所示:

将文件另存为,文件名命名为Game,如下所示:

4

在Pycharm中将Game.ui文件转为Game.py文件

如下所示:

5

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

创建run.py文件的目的,是为了让Game.ui里面的每一个控件有它们自己的功能。让这些控件可以实现相应函数功能,而不是做一个摆设。即让这些窗口中的控件实现信号与槽机制。

如以下代码是实现按了窗口“退出”按钮之后实现的函数功能。

def closeEvent(self, event):
        reply = QMessageBox.question(self, '确认', '确认退出吗?', QMessageBox.Yes | QMessageBox.No)
        if reply == QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()

相应的程序运行图如下所示:

我们这个程序最核心的部分就是判断数的大小,用自己输入的数字和系统随机产生的数字进行比较。这里用到的是if条件语句,对数字进行判断大小。

if number > self.num:
            QMessageBox.about(self, '结果', '猜大了!')
            self.textEdit.append(self.lineEdit.text() + ' 猜大了!')
            self.lineEdit.clear()
            self.lineEdit.setFocus()

6

整个程序运行起来如下所示:

以上就是今天介绍的猜谜游戏设计流程

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 看那个码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档