gpt4 book ai didi

python - wx.SplashScreen 顶部的动态文本

转载 作者:太空宇宙 更新时间:2023-11-03 16:57:55 25 4
gpt4 key购买 nike

我正在使用 wxPython 创建启动屏幕。它实际上效果很好,但现在我想在启动屏幕上添加一些加载反馈。有谁知道如何在启动屏幕顶部放置动态标签?这是我正在使用的代码:

class myFrame(wxFrame):
wx.Frame.__init__(self, parent, -1, _("Radar"),
size=(800, 600), style=wx.DEFAULT_FRAME_STYLE)


class MySplash(wx.SplashScreen):
def __init__(self, parent=None):
aBitmap = wx.Image(name=VarFiles["Radar_Splash"]).ConvertToBitmap()
splashStyle = wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT
splashDuration = 12000 # ms
wx.SplashScreen.__init__(self, aBitmap, splashStyle, splashDuration, parent)
self.Bind(wx.EVT_CLOSE, self.CloseSplash)
wx.Yield()
def CloseSplash(self, evt):
self.Hide()
global frame
frame = myFrame(parent=None)
app.SetTopWindow(frame)
frame.Show(True)
evt.Skip()

class MyAwesomeApp(wx.App):
def OnInit(self):
MySplash = MySplash()
MySplash.Show()
return True

最佳答案

由于 SplashScreen 本质上是一个显示位图的窗口,因此您需要修改提供的位图,自行进行布局。

def _draw_bmp(bmp, txt_lst):
dc = wx.MemoryDC()
dc.SelectObject(bmp)
dc.Clear()
gc = wx.GraphicsContext.Create(dc)
font = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)
gc.SetFont(font)
for i, line in enumerate(txt_lst):
dc.DrawText(line, 10, i * 20 + 15)
dc.SelectObject(wx.NullBitmap)

# ...
aBitmap = #...
_draw_bmp(aBitmap, ['splash', 'screen', 'text'])

wx.GraphicsContext 将有助于使抗锯齿文本看起来与底层操作系统中的相同。

关于python - wx.SplashScreen 顶部的动态文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35270871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com