Выделите и скопируйте текст из диалогового окна в wxPython - PullRequest
7 голосов
/ 05 июля 2010

У меня есть приложение wxPython, и в этом приложении я могу выбирать и копировать текст из различных фреймов, но я не могу сделать это из диалогов. Есть ли способ сделать это?

Я понимаю, что, возможно, я мог бы сделать это, поместив какой-то TextCtrl в диалог, но я бы хотел сделать это из стандартного диалогового окна.

EDIT:

Извините, мне следовало быть более конкретным. Я не могу выбрать текст из wx.MessageBox под Windows Vista или Mac (у меня нет доступа к Linux, чтобы попробовать это). Вот один из примеров вызова для создания окна сообщения:

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

Я не могу выделить текст окна сообщения.

1 Ответ

5 голосов
/ 12 марта 2011

Если вы создадите пользовательский 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, возможно, вам придется настроить цвет для вашей ОС.

...