1
我想在這個窗口內建立一個無邊界的wxPython窗口(即style = wx.BORDER_NONE
)並使用fancytext(wx.lib.fancytext
)。請注意,我對wxPython非常陌生,我的問題可能聽起來很愚蠢。 (這實際上是我第一次使用wxPython的嘗試)。如何獲得一個帶FancyText和無邊框的wxPython框架(wx.BORDER_NONE)?
我覺得在使用fancytext時我需要在我的frame
中使用panel
,因爲需要使用OnPaint
方法來設置文本的fanciness。但是,使用panels
(或甚至sizers
)與style = wx.BORDER_NONE
似乎是不可能的。
這是我想什麼,但沒有窗口邊框和東西:
import wx
import wx.lib.fancytext as fancytext
test_str2 = '<font family="swiss" color="dark green" size="40">big green text</font>'
class FancyText(wx.Panel):
"""display fancytext on a panel"""
def __init__(self, parent):
wx.Panel.__init__(self, parent, wx.ID_ANY)
self.Bind(wx.EVT_PAINT, self.OnPaint)
def OnPaint(self, evt):
"""generate the fancytext on a paint dc canvas"""
dc = wx.PaintDC(self)
fancytext.RenderToDC(test_str2, dc, 0, 20)
app = wx.App(0)
frame = wx.Frame(None, wx.ID_ANY, title='wxPython fancy text', size=(500, 250))
frame.Centre()
FancyText(frame)
frame.Show(True)
app.MainLoop()
(下面的例子使用的代碼中發現here從wxPython的演示)
如果一個人改變線路初始化窗口到
frame = wx.Frame(None, wx.ID_ANY, title='wxPython fancy text', size=(500, 250), style = wx.BORDER_NONE)
fancytext消失。
有什麼辦法可以在無邊框窗口上使用fancytext(style = wx.BORDER_NONE
)?