使用 PyQt5 在 Python 中制作简单的 FLAMES 游戏2025年3月17日 | 阅读 12 分钟 本文将演示如何使用 PyQt5 开发一个 FLAMES 计算器。基于两个给定名字的算法,这个 FLAMES 计算器会评估关系并预测它们可能如何发展。 Python 是最受欢迎且高效的编程语言。Python 拥有强大的开发者社区和海量库。代码编写的简洁性是其主要优势之一。它几乎可以应用于任何行业。 FLAMES 这个词代表 Friends(朋友)、Lovers(恋人)、Affectionate(深情)、Marriage(婚姻)、Enemies(敌人)和 Sibling(兄弟姐妹)。尽管这个游戏的结果不能用来判断一个人是否适合你,但和朋友一起玩可能会很有趣。这个游戏仅供娱乐和消遣,不基于任何现实生活场景。它只是朋友们之间的一种娱乐方式,仅此而已。 但在此之前,我们必须了解 PyQt5 在 Python 中的一些重要基础知识。 PyQt 基础知识简介PyQt 是结合了 Python 编程语言和 Qt 库而创建的工具包。作为 Python 最流行的 GUI 框架之一,PyQt 拥有强大的社区和海量优质文档。 QWidget 类是 PyQt 的基本类之一,它实现了 Widget(控件)。Widget 是用户界面和 GUI 组件的基本组成部分。标签、按钮、菜单、组合框、滚动条、工具栏、文件对话框等都是 Widget 的例子。 Widget 的种类繁多,熟悉它们需要一些时间。本项目将使用最常用的 Widget,它们几乎总是包含在 PyQt 应用程序中。 PyQt 为构建 GUI 程序提供了广泛的 Widget。然而,PyQt5 在许可方面有所更改,并将类重新组织到不同的模块中。 因此,对 PyQt5 的结构有一个广泛的了解至关重要。本节将解释 PyQt5 的内部结构,以及它提供的各种模块、库和 API 类。 要安装 PyQt5,我们需要遵循以下步骤。在使用 PyQt 框架之前,必须先使用 pip 包管理器安装它。 如果你的电脑已经安装了 pip,请使用以下命令安装最新版本的 PyQt: 实现 GUI 的步骤
后端实现步骤
代码讲解现在,我们将一步一步地解释代码的每个部分,以便在实现完整代码之前理解它们。 首先,我们将从 PyQt5 的标准 Python 库中导入所有必需的文件到我们的程序中。这些文件只需要在程序开头导入一次,并在整个程序中使用。这些文件包括 QtCore、QtGui、qtwidgets 和 sys。 然后,我们将创建一个名为 **Window** 的新类,并初始化窗口,同时设置窗口的标题和几何尺寸。然后,我们将调用 **UiComponents()** 方法,该方法包含我们窗口中的所有组件,如所有标签、控件、按钮和文本字段,然后使用 **show()** 方法显示所有存在的控件。 接下来,我们将定义 components 方法,然后创建 2 个标签。第一个标签 **name1st_lbl** 用于要求用户输入第一个名字,然后我们将设置其边框、颜色和几何尺寸。第二个标签 **name2nd_lbl** 用于要求用户输入第二个名字,然后我们将设置其边框、颜色和几何尺寸。 然后,我们将创建 2 个行编辑器来提供第一个和第二个名字的输入文本区域。之后,设置它们的几何尺寸。 接下来,我们将创建一个新标签来显示最终的关系结果。然后,我们将设置其几何尺寸、对齐方式、字体样式、边框和背景颜色。我们还将创建一个按钮来获取结果,并设置其几何尺寸,并在按下时添加需要执行的相应操作。 然后,我们将创建一个新函数,该函数定义了按下按钮后需要执行的所有操作和方法。它将首先接收 2 个名字并删除它们之间的空格。然后,创建一个函数,通过使用 if else 条件和循环来删除两个名字中存在的公共字符。之后,两个名字将作为列表存储在两个不同的列表中,首先,列表将被连接起来,然后被合并成一个最终列表。 接下来,我们将创建一个函数来查找两个输入名字之间的关系状态。然后,我们将设置标志的初始值为 true,并启动 while 循环,直到所有相同的字符都被移除。然后,这个新列表将被存储,我们将使用 **"*"** 运算符来切片连接的列表,并将其分成 2 个不同的列表,并计算这两个列表中剩余的总字符数。接下来,我们将为 **FLAMES** 这个词引入缩写列表,其中包含 Friends(朋友)、Love(爱)、Affection(深情)、Marriage(婚姻)、Enemy(敌人)和 Siblings(兄弟姐妹)等关系。其中一个将是最终的关系状态。 然后,我们将保持循环运行,直到最后一个选定的字母在每一轮之后通过使用 "*" 运算符切片列表而被移除。切片完成后,选定的字符将被删除。然后,列表中的剩余字符再次连接起来形成一个单一列表。这个过程会不断重复,直到我们知道最终结果。最终结果给出 FLAMES 中的一个缩写,然后将适当的缩写作为关系状态显示在指定的标签中。 最后,我们将创建包含所有这些组件的 PyQt5 应用程序。我们将创建一个窗口实例,该实例将在用户屏幕上显示,并最终调用 exit 方法以启动应用程序并执行代码以获得期望的输出。 完整代码输出 上面呈现的关于使用 PyQt5 在 Python 中制作简单 FLAMES 游戏的输出已在下面以截图的形式附上。 ![]() |
通常,当我们使用 print 语句打印一个字符串时,我们会使用另一个 print 语句在新的一行中打印另一个字符串。当我们编写一个 print 语句后,在其执行后,光标会自动移到新的一行。为什么会这样呢?我们不能...
阅读 4 分钟
在本教程中,我们将解决 Python 问题,其中我们需要找到排序数组中元素的第一个和最后一个位置。问题陈述是我们给出了一个按非递减顺序排序的整数数组,并找到...
阅读 6 分钟
Python 获得了极大的普及,并已成为行业中需求量很大的编程语言。开发人员对这种编程语言情有独钟的原因有很多,例如通用性、丰富的库、友好的语法、易学性等等。另一个有趣的原因...
5 分钟阅读
DICOM,数字成像与医学通信,是医学成像系统的标准语言。每当我们听到“DICOM”这个词时,有些人可能认为它只是医学图像。然而,医疗分析师/数据科学家可能会像对待任何其他医疗数据集一样,将其视为宝藏,因为它...
阅读 4 分钟
引言 人工智能领域取得了巨大的进步,导致了各种算法的开发来处理复杂的任务。其中一个算法是 LightGBM,它是 Light Gradient Boosting Machine 的缩写。LightGBM 因其效率、速度和处理大规模数据集的能力而广受欢迎。
阅读 6 分钟
Python 允许创建和操作对象,使其成为一种面向对象的编程(OOP)语言。由于对象是类的实例,它们能够保存数据和操作数据的函数。因为它将代码组织成对象而不是一系列过程性程序,所以这种...
阅读 4 分钟
简介:在本文中,我们将讨论将变量传递给 Python 字典。Python 有各种内置数据结构,可以存储不同类型的数据。Python 字典是一种可以存储键值对数据的数据结构。从概念上讲,它就像一个映射....
阅读 3 分钟
本教程将教您如何使用Python、PyQt和SQLite创建通讯录应用程序。这个项目将是学习不同编码技能的有效方式,因为它要求您应用各种技术并鼓励您在开发过程中研究相关主题...
阅读 23 分钟
众所周知,Python 是一种面向对象的编程语言。因此,Python 遵循 OOP 的所有概念,其中一个概念就是继承。在使用继承概念时,我们可以在继承的类中使用 super() 函数来引用父类...
阅读 4 分钟
Python 是最灵活的语言,几乎用于所有行业,包括游戏开发、Web 开发、机器学习、人工智能和 GUI 应用程序。该游戏是使用 pygame 包开发的,这是 Python 的内置功能。对 Python 编程有一个基本了解,...
阅读 12 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India