私はStaticText
選択/コピー可能を作るための方法を見つけることができませんが、ここで問題を回避する2つのハックです。
1.マウスの右にクリップボードにコピー私は私のカスタムHTML対応のツールチップウィンドウを作成するための定住いくつかの実験の後StaticText
import wx
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1)
self.panel = wx.Panel(self)
self.st = wx.StaticText(self.panel, wx.ID_ANY, "Hello, World! Copy me with right click",pos=(5,5))
self.st.Bind(wx.wx.EVT_RIGHT_DOWN,self.ShowPopup)
self.tc = wx.TextCtrl(self.panel, wx.ID_ANY, "Paste here", pos=(5,30),size=(300,20))
self.tc2 = wx.TextCtrl(self.panel, wx.ID_ANY,"TextCtrl masquerading as StaticText - Select me",style=wx.TE_READONLY|wx.NO_BORDER,pos=(5,60),size=(300,20))
self.tc2.SetBackgroundColour(self.panel.GetBackgroundColour())
self.Show()
def ShowPopup(self,event):
popmenu = wx.Menu()
popmenu.Append(1, "Copy this text to clipboard")
popmenu.Bind(wx.EVT_MENU, self.Copy)
self.panel.PopupMenu(popmenu)
popmenu.Destroy()
def Copy(self,event):
clipdata = wx.TextDataObject()
text = self.st.GetLabelText()
clipdata.SetText(text)
wx.TheClipboard.Open()
wx.TheClipboard.SetData(clipdata)
wx.TheClipboard.Close()
app = wx.App()
frame = MyFrame()
app.MainLoop()
ありがとうございました。私は、 'StaticText'の代わりに' HtmlWindow'を使用することで、場合によっては回避策になることが分かりました。 –
私は興味をそそられています。私は 'HtmlWindow'をLinux上で選択できるようにはできないようです。おそらく、あなたは自己答えるべきです。 –
私は、a)誰かが代替案を提示していない場合、b)私はもう少し経験を積んでいます。私はまだそのコンポーネントがどこで使われているのか、どこにはないのか把握していません。 –