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

news/2024/11/8 14:24:47 标签: python, 开发语言
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.niftyadmin.cn/n/5744015.html

相关文章

openlayers实现图层裁剪,只展示关心区域,抹掉无关区域,“抠”地图

先给大家看一下效果: 很久没有用ol了,今天突发奇想,想完成一下在ol中如何实现图层裁剪,抹掉消除非关心区域的地图的操作。过去写了有关于遮罩和掩膜的教程,现在看来好像有点低级,不足以满足需求,于是我们重新来做一下。 首先要知道ol官方是支持canvas参数传递的,就是说…

【芯智雲城】Sigmastar星宸科技图传编/解码方案

一、图传技术简介 图传是指将图像或媒体内容从一个设备传输到另外一个设备的技术,传输的媒介可以是无线电波、光纤、以太网等。图传系统主要由图像采集设备、传输设备和接收设备组成,图像采集设备负责采集实时图像,传输设备将采集到的图像转…

【大数据学习 | kafka高级部分】kafka的优化参数整理

1. 优化参数 参数解释buffer.memoryRecordAccumulator 缓冲区总大小,默认 32mbatch.size默认 16k,sender线程拉取数据大小linger.mssender线程拉取数据等待时长acks确认应答 0 1 -1max.in.flight.requests.per.connection没有ack返回时候可以发送几次数…

DAY22|回溯算法Part01|LeetCode: 77. 组合、216.组合总和III 、17.电话号码的字母组合

目录 回溯算法 算法流程 回溯算法代码模版 LeetCode: 77. 组合 基本思路 C代码 LeetCode: 216.组合总和III 基本思路 C代码 LeetCode: 17.电话号码的字母组合 基本思路 C代码 回溯算法 算法流程 做题之前,首先要先了解什么是回溯算法以及为什么要使用回…

实操用CSK6大模型开发板打造一个能说会唱的桌面聊天机器人/AI语音智能助理

桌面机器人,作为人工智能领域中一个充满潜力的分支,正逐渐成为我们日常生活中的伙伴。它们不仅能够提供信息查询、陪伴关怀等实用功能,还能以更加人性化的方式与我们互动,成为我们工作和娱乐的好帮手。 本文以聆思CSK6大模型开发板…

基于Spring Boot的船舶监造系统的设计与实现,LW+源码+讲解

摘要 近年来,信息化管理行业的不断兴起,使得人们的日常生活越来越离不开计算机和互联网技术。首先,根据收集到的用户需求分析,对设计系统有一个初步的认识与了解,确定船舶监造系统的总体功能模块。然后,详…

STM32 基于HAL库和STM32cubeIDE的应用教程(一)--安装环境

如果有什么不懂的地方欢迎私聊博主,欢迎小白,博主必一一解答。 1. 安装所需工具和软件 在开始编程之前,您需要安装以下软件: STM32CubeIDE:这是一个集成开发环境(IDE),集成了 STM…

学习threejs,使用JSON格式保存和加载整个场景

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE toJSON()方法 二、&a…