在本篇推文中,我们将融合之前几篇推文学习到的知识,通过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