从wxPython中的对话框中选择并复制文本

时间:2010-07-05 16:43:07

标签: select text dialog wxpython copy

我有一个wxPython应用程序,在这个应用程序中,我可以从各种框架中选择和复制文本,但我不能从对话框中这样做。有没有办法做到这一点?

我理解我可以通过在对话框中放置某种TextCtrl来实现这一点,但我希望能够从标准的对话框中做到这一点。

编辑:

对不起,我应该更具体一点。我无法从Windows Vista或Mac下的wx.MessageBox中选择文本(无法访问Linux来尝试)。以下是创建消息框的一个示例:

wx.MessageBox(str(msg), "Could not load ballots", wx.OK|wx.ICON_ERROR)

我无法选择消息框的文本。

1 个答案:

答案 0 :(得分:5)

如果你像这样制作一个自定义MessageBox,它会显示为静态文本,直到你点击文字:

class MessageBox(wx.Dialog):
    def __init__(self, parent, title):
        wx.Dialog.__init__(self, parent, title=title)
        text = wx.TextCtrl(self, style=wx.TE_READONLY|wx.BORDER_NONE)
        text.SetValue("Hi hi hi")
        text.SetBackgroundColour(wx.SystemSettings.GetColour(4))
        self.ShowModal()
        self.Destroy()

我只是在Windows上对此进行了测试,您可能需要调整操作系统的颜色。