当前位置: 首页 > article >正文

简易抽奖器源码以及打包操作

import wx
import random
import time


# 定义Myframe类,继承Frame
class Myframe(wx.Frame):

    # 奖品
    rewards = ['桥本香奈', '二代CC', 'NaNa', '情深叉']

    # 构造方法
    def __init__(self):
        # 父类初始化
        super().__init__(None, title='主界面', size=(500, 400), pos=(500, 200))
        # 创建面板,记得参数self(类对象)
        # 设置背景颜色
        self.SetBackgroundColour((242,156,177))

        pl = wx.Panel(self, size=(500, 400))
        # 创建静态文本
        self.static_text = wx.StaticText(pl, label='欢迎进入的梦中玉门世界', pos=(160, 160),style=wx.TE_CENTER)
        # 字体设置
        # 字体大小,字体样式(family),字体风格(style),加粗(weight)
        self.static_text.SetFont(wx.Font(15,wx.FONTFAMILY_MODERN,wx.FONTSTYLE_SLANT,wx.FONTWEIGHT_BOLD))

        # 创建按钮,创建在面板上
        self.button1 = wx.Button(pl, label='选择玉门', pos=(150, 190))
        self.button2 = wx.Button(pl, label='确认玉门', pos=(250, 190))
        # 绑定事件
        self.Bind(wx.EVT_BUTTON, self.Start_onClick, self.button1)
        self.Bind(wx.EVT_BUTTON, self.End_onClick, self.button2)

    # 创建开始按钮事件
    def Start_onClick(self, event):
        # self.static_text.SetLabelText(random.choice(self.rewards))

        # 创建一个定时器事件
        self.timer = wx.Timer(self)
        self.timer.Start(200)  # 每隔1000毫秒更新名字
        self.Bind(wx.EVT_TIMER, self.up_data_name, self.timer)

    # 创建名单更新事件
    def up_data_name(self, event):
        self.reward = random.choice(self.rewards)
        # 设置label内容,进行label内容替换
        self.static_text.SetLabelText(self.reward)
        print(self.reward)

    # 创建结束按钮事件
    def End_onClick(self, event):
        self.timer.Stop()
        # 设置label内容,进行label内容替换
        self.static_text.SetLabelText(f'恭喜你!你的幸运玉门是{self.reward}')



if __name__ == '__main__':
    # 创建应用程序对象
    app = wx.App()
    # 创建对象
    frm = Myframe()
    # 窗口显示
    frm.Show()
    # 窗口一直显示
    app.MainLoop()

可以安装pyinstaller包进行打包

安装完成后在pycharn终端输入

pyinstaller   -F -w   文件路径 

回车,在回显中找到打包后的exe文件,找到后就可以发送到别人PC端进行使用了


http://www.kler.cn/a/384450.html

相关文章:

  • C语言 | Leetcode C语言题解之第542题01矩阵
  • 删除的域名购买还能使用嘛?
  • Java字符串深度解析:String的实现、常量池与性能优化
  • 微信小程序开发,诗词鉴赏app,诗词推荐实现(二)
  • Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户附数据代码
  • 将Notepad++添加到右键菜单【一招实现】
  • 【网络-交换机】生成树协议、环路检测
  • Java 8 Stream API 详解
  • 实时金融股票数据API接口websocket接入方法
  • WRF-LES与PALM模型:风能资源评估、风力发电、大涡模拟、大尺度湍流涡旋、大雾预报、局地环流模拟、城市热岛效应、流场模拟
  • 香港服务器怎么搭建docker加速器
  • flutter 项目初建碰到的控制台报错无法启动问题
  • 地理空间-Java实现航迹稀释
  • 【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十二章 Debian文件系统
  • Java反射原理及其性能优化
  • C#实战:使用腾讯云识别服务轻松提取火车票信息
  • 科研绘图系列:R语言组合连线图和箱线图(linechart+boxplot)
  • Vue实战学习(2)(Vue快速入门(快速构建一个局部Vue项目))
  • xftp连接中不成功 + sudo vim 修改sshd_config不成功的解决方法
  • 斗破QT编程入门系列之二:GUI应用程序设计基础:UI文件(四星斗师)
  • 【C++】哈希表封装 unordered_map 和 unordered_set 的实现过程
  • 信息安全工程师(80)网络安全测评技术与工具
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-31
  • (十)JavaWeb后端开发——SpringBoot
  • 纯血鸿蒙Native层支持说明
  • 为什么 Allow 配合 meta noindex 比使用Disallow好?