文章目录
更新
这个帖子是我刚学不久发的,做的非常粗糙,时间太久了,我也记不清怎么搞的了,考研复习重做一下放松一下(花了一下午)。我根据赛马娘Bwiki的模拟抽卡界面重新画了界面,功能也更符合正常的抽卡需求,至少我这帖子是没搞清需求。。。
这个帖子的内容没有什么参考性了,更完整版的代码我也上传了github,请移步【PYQT】赛马娘抽卡模拟器-基于Bwiki的抽卡模拟(上)查看更新后的内容。
Github源码:DrawCard_uma
前言
记录自己学习pyqt制作抽卡模拟器(简易)的过程。
抽卡规则基于赛马娘。
实现了一连抽和十连抽的功能,保底功能,十连抽必出sr功能,抽出ssr显示图片功能,
以及货币不足提示功能
一、前置操作
默认安装好了qt designer以及和python的环境配置:
需要安装的python包:
pyqt5
如若需要打包成exe文件(不推荐)
则需要安装pyinstaller包
本人是通过vscode编写py文件的,预先安装了插件:PYQT Integration,便于转换ui文件为py文件,以及快捷的打开qt designer编辑窗体。
不过,不使用vscode,通过控制台代码转换ui文件也是可行的。
二、操作步骤
1.qt绘制模拟器界面并转换为py文件
qt designer的基本使用方法可以参考这里:
https://www.cnblogs.com/linyfeng/p/11223707.html
个人简单绘画了一个界面

注意需要对每个控件重命名,方便之后在程序中调用。(不改名无法调用,同时也不好分辨)
下面是我本人对控件的命名
其中涉及了用标签显示图片,有两个标签控件因为是空白未在上图显示

自定义界面后保存,得到一个ui后缀的文件
用vscode打开刚才保存位置的文件夹,右键文件“PYQT:Compile Form”转换为py文件。

如果转换出现问题,可以尝试在vscode里点击“文件->首选项->设置”,搜索pyqt,设置插件。
我的设置如下

第一个框为你的pyuic.5文件的位置,如果python不是用的anaconda则需要自己找到文件位置填入
第二个框“-x”表示转换后的py文件自带把窗体显示出来的函数,不用手动输入
第三个框默认为此
第四个框为你qt designer的位置,需要自己编辑
2.在项目文件夹加入数据文件
新建一个txt文件填入卡池内容
本人新建了一个data.txt文件,随便填写数据即可,本人设置了42行数据,对应代码中数组的大小。

注意要修改txt文本的编码为ANSI,否则读取会出问题。
同时放入抽出ssr卡需要显示的图片,并重命名方便在代码中调用。
3.新建一个py文件进行操作界面
新建一个py文件和ui转换后的py文件分开,可以方便修改方法和修改界面,不容易产生冲突。
如果需要修改界面,把修改后的ui文件再转换为py文件覆盖先前的即可。不会影响到操作函数。
新建文件命名为:“抽卡启动器”。
代码如下
添加信号和槽用函数连接刚才界面中创建的按钮“一抽”和“十连”
import sys
import random
#PyQt5中使用的基本控件
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtWidgets import QMessageBox
from PyQt5 import QtGui
#导入designer工具
from Ui_抽卡系统 import*
class MyMainForm(QMainWindow, Ui_Form):
def __init__(self, parent=None):
super(MyMainForm, self).__init__(parent)
self.setupUi(self)
#修饰界面
self.setWindowTitle("抽卡模拟器")
#添加信号和槽。
self.getone.clicked.connect(self.one)
self.getten.clicked.connect(self.ten)
之后定义one和ten两个函数就可以用按钮实现定义的功能。
定义one函数,即“一抽”对应按钮的函数
def one(self):
name=self.textname.text() #读取用户名
a = self.textmoney.text() #读取货币数量
if(name==""):
QMessageBox.critical(self, "错误", "请输入用户名", QMessageBox.Yes | QMessageBox.Yes) #判断名字不为空
elif

本文记录了如何使用PYQT制作赛马娘主题的抽卡模拟器,包括界面设计、数据读取、一抽与十连功能实现及错误处理。适合初学者学习Qt与Python结合的应用开发。
最低0.47元/天 解锁文章
5906

被折叠的 条评论
为什么被折叠?



