高级启动画面如何在我的代码中使用它

时间:2012-02-21 21:54:12

标签: python wxpython wxwidgets

我知道如何在wxpython中创建一个高级启动画面,但我不知道我的应用程序是如何放入的。我有点困惑。 任何人都可以帮助更好地了解发生了什么? 下面是一个简单的代码来创建一个启动画面。谢谢!!!

import wx
import wx.lib.agw.advancedsplash as AS

app = wx.App(0)

frame = wx.Frame(None, -1, "AdvancedSplash Test")

imagePath = "my_splash_image.png"
bitmap = wx.Bitmap(imagePath, wx.BITMAP_TYPE_PNG)
shadow = wx.WHITE

splash = AS.AdvancedSplash(frame, bitmap=bitmap, timeout=5000,
                           agwStyle=AS.AS_TIMEOUT |
                           AS.AS_CENTER_ON_PARENT |
                           AS.AS_SHADOW_BITMAP,
                           shadowcolour=shadow)

app.MainLoop()

1 个答案:

答案 0 :(得分:2)

这段代码完成了它所告诉的内容:它创建一个启动画面,显示它5秒然后进入主循环。您可能忘记将frame.Show()添加到代码中以实际显示主框架和(可选)frame.Center()以将框架置于屏幕中心。

为了确保在启动屏幕破坏后框架不会失去焦点,我建议您先显示启动画面(使用parent=None),然后初始化框架:

app = wx.App(0)
imagePath = "my_splash_image.png"
bitmap = wx.Bitmap(imagePath, wx.BITMAP_TYPE_PNG)
shadow = wx.WHITE
splash = AS.AdvancedSplash(None, bitmap=bitmap, timeout=5000,
                           agwStyle=AS.AS_TIMEOUT |
                           AS.AS_CENTER_ON_PARENT |
                           AS.AS_SHADOW_BITMAP,
                           shadowcolour=shadow)
frame = wx.Frame(None, -1, "AdvancedSplash Test")
frame.Center()
frame.Show()
app.MainLoop()