2014-02-19 29 views
0

我正在使用wxPython与PyWizardPages构建向导。更改wx.TextCtrl和wx.StaticText中的内嵌字体样式

我想知道是否有一种方法来粗体或斜体文字“内联”?

换句话说:

# StaticText 
a = wx.StaticText(page, -1, "Click Next") 

# TextCtrl 
b = wx.TextCtrl(page2, -1, "") 
b.SetValue("Here are the details:") 

现在,比方说,我想大胆的 “下一步” 和斜体 “的细节。”这不是犹太语法,但只是一些我希望能够做到,如果可能的话:

# Hypothetical way to inline bold 
a = wx.StaticText(page, -1, "Click <b>Next</b>") 

# Hypothetical way to inline italicize 
b.SetValue("Here are the <i>details</i>:") 

是这样的可能还是我需要创建一个新的静态文本/ TextCtrl,大胆,他们斜体,然后弄清楚如何将它放置在网格中,使其看起来像是一个完整的句子?

+0

我想你想要的RichText风格...还有一个RichText小部件,以及一个HTML渲染器的东西 –

+0

@JoranBeasley,是的,我认为这似乎是我想要的。我看了一下RichText小部件,但我无法确定您是什么意思的RichText风格,但。不知道从“StaticText”和“TextCtrl”开始,实现哪一个更容易实现。另外,如果你写回答作为答案,我会接受它。 – noblerare

回答

1

TextCtrl有一个名为wx.TE_RICH和wx.TE_RICH2的样式标志。这两个都显示在wxPython演示中。我不相信StaticText小部件将为您工作。还有一个可以使用的RichText小部件或一个StyleTextCtrl。另一种方法是自己在屏幕上绘制文本,这会给你最大的控制权。在wxPython演示中有所有这些主题的例子,所以我会从那里开始。

+0

这对我有帮助。谢谢。我将'wx.TE_RICH'样式添加到TextCtrl中,并且能够粗体和斜体地显示我需要的TextCtrl部分。尽管如此,我仍然没有完全想到如何为StaticText做到这一点。我会研究RichText。 – noblerare