2017-08-12 8 views
0

テキストとリンクを同じ行に追加しようとしています。インターネットを見ると、テキストを許可するstatictextとリンクを追加するwx.adv.HyperlinkCtrlのいずれかしか見つかりませんでした。理想的には、私はそれらをリンクすることができれば、両方の単一の文で理想的です。wxpython 4.0の1つのコントロールにテキストとHTMLリンクを追加するには?

どうすればいいですか?

答えて

2

sizerと一緒にバンドルできませんか?例:

#!/usr/bin/python 
import wx 
import wx.lib.agw.hyperlink as hl 

class Example(wx.Frame): 
    def __init__(self, parent, title): 
     wx.Frame.__init__(self, parent, -1, title) 
     self.InitUI() 

    def InitUI(self): 
     panel = wx.Panel(self) 
     sizer = wx.BoxSizer(wx.HORIZONTAL) 
     textS = wx.StaticText(panel, label='Plain') 
     textS.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.BOLD, False, 'Arial')) 
     lnk = hl.HyperLinkCtrl(panel, -1, "wxPython Main Page", 
            URL="http://www.wxpython.org/") 
     textE = wx.StaticText(panel, label='Text') 
     textE.SetFont(wx.Font(12, wx.SWISS, wx.ITALIC, wx.NORMAL, False, 'Courier')) 
     self.SetSize((500, 150)) 
     sizer.Add(textS, 0, wx.ALL, 5) 
     sizer.Add(lnk, 0, wx.ALL, 5) 
     sizer.Add(textE, 0, wx.ALL, 5) 
     lnk.EnableRollover(True) 
     lnk.SetToolTip(wx.ToolTip("Hello World!")) 
     lnk.UpdateLink() 
     self.SetSizer(sizer) 
     self.Centre() 
     self.Show(True) 

if __name__ == '__main__': 
    ex = wx.App() 
    Example(None, 'A Hyperlink') 
    ex.MainLoop() 
+0

部分的に動作していますが、テキストとハイパーリンクの間にスペースが入ります。スペースを取り除く方法はありますか? –

+0

上記の例のスペースは 'sizer.Add(xxxx、0、wx.ALL、5)'によって作成されます。それらのすべてを変更して、5ではなく0(ゼロ)を使用してください。https://docs.wxpython.org/sizers_overview.html?highlight=boxsizer –

+0

両方のテキスト間の距離は解決されませんが、私のために働きます。大きな問題ではない –

関連する問題