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

Select 从wxPython中的对话框中选择并复制文本,select,text,dialog,wxpython,copy,Select,Text,Dialog,Wxpython,Copy,我有一个wxPython应用程序,在这个应用程序中,我可以从不同的框架中选择和复制文本,但我不能从对话框中这样做。有办法做到这一点吗 我知道我可以通过在对话框中放置某种文本Ctrl来实现这一点,但我希望能够从标准外观的对话框中实现这一点 编辑: 对不起,我应该说得更具体些。我无法从Windows Vista或Mac下的wx.MessageBox中选择文本(无法访问Linux来尝试)。以下是创建消息框的调用示例: wx.MessageBox(str(msg), "Could not load ba

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

我知道我可以通过在对话框中放置某种文本Ctrl来实现这一点,但我希望能够从标准外观的对话框中实现这一点

编辑:

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

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

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

如果您这样创建自定义消息框,则在单击文本之前,它将显示为静态文本:

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上测试过,您可能需要调整操作系统的颜色。

我不清楚您说“从各种帧复制文本”是什么意思。例如,当我运行演示(使用Linux)时,我可以将发布的文本复制到消息框或关于框中,这两个框都是对话框,然后将复制的文本粘贴到另一个程序中。您要复制什么文本?即使无法在Windows上突出显示文本,也可以按Ctrl-C将对话框的全部内容复制到剪贴板。如果您需要比这更具体的内容,您可能需要创建一个具有相同外观的自定义对话框。wx.MessageBox只是对平台本机消息框函数的调用。
text.setbackgroundcolor(self.getbackgroundcolor())
可能更合适。