简易抽奖器源码以及打包操作
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端进行使用了