2010-07-05 4 views
7

wxPython 응용 프로그램이 있는데이 응용 프로그램에서 다양한 프레임의 텍스트를 선택하고 복사 할 수 있지만 대화 상자에서 텍스트를 복사 할 수는 없습니다. 이것을 할 수있는 방법이 있습니까?wxPython의 대화 상자에서 텍스트 선택 및 복사

대화 상자에 일종의 TextCtrl을 넣어서이 작업을 수행 할 수 있다고 생각하지만 표준보기 대화 상자에서이 작업을 수행하고 싶습니다.

편집 :

죄송합니다. Windows Vista 또는 Mac에서 wx.MessageBox의 텍스트를 선택할 수 없습니다 (Linux에 액세스 할 필요가 없습니다).

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

내가 메시지 상자의 텍스트를 선택할 수 없습니다입니다 : 여기에 메시지 상자를 만들 수있는 호출의 한 예입니다. 당신이 그렇게 같은 사용자 정의 메시지 박스를 한 경우

+1

"다양한 프레임의 텍스트 복사"등의 의미는 분명하지 않습니다. 예를 들어, 데모를 실행하면 (Linux 사용) 게시 된 텍스트를 메시지 상자 또는 정보 상자에 복사 할 수 있습니다 이 두 대화 상자는 복사 한 내용을 다른 프로그램에 붙여 넣습니다. 어떤 텍스트를 복사하려고합니까? – tom10

+2

Windows에서 텍스트를 강조 표시 할 수없는 경우에도 Ctrl-C를 눌러 대화 상자의 전체 내용을 클립 보드로 복사 할 수 있습니다. 이보다 더 구체적인 것이 필요하다면 아마도 같은 모양으로 사용자 정의 대화 상자를 만들어야 할 것입니다. wx.MessageBox는 플랫폼의 기본 메시지 상자 기능에 대한 호출 일뿐입니다. –

답변

5

, 그것은 당신이 텍스트를 클릭 할 때까지 정적 텍스트로 나타납니다

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() 

난 단지 창문에이 테스트 한, 당신은 색상을 조정해야 할 수도 있습니다 귀하의 OS 용.

+0

'text.SetBackgroundColour (self.GetBackgroundColour())'가 더 적합 할 것입니다. – Pod

관련 문제