2013-08-28 3 views
1

wx.lib.filebrowsebutton.FileBrowseButtonInputBox/TextCtrl 부분을 비활성화/제거하는 기본 제공 옵션이없는 것처럼 보입니다. 간단히 말해서 해결 방법이 생겼습니다. labelText을 비워 두어 시각적으로 버튼 자체에만 맞게 크기를 조절합니다 당신은 정상적인 버튼과 아무런 차이가 없다고 말할 수 있습니다 만, 나는 그걸로 갈 수있을만큼 멋지다고 생각하지 않습니다.wx.lib.filebrowsebutton.FileBrowseButton에서 입력 상자를 비활성화/제거하는 방법은 무엇입니까?

InputBox 부분을 완전히 비활성화/제거 할 수있는 방법이 있습니까? 또는 파일 브라우저 기능으로 일반 버튼을 바인딩하는 방법일까요?

답변

0

textctrl이 필요하지 않으면 실제로는 wx.lib.FileBrowseButton이 필요하지 않습니다. wx.FileDialog 인스턴스를 시작하는 일반 wx.Button 만 있으면됩니다. 사실, 그게 모두 wx.lib.FileBrowsBbutton입니다. 관련 소스 코드는 다음과 같습니다. https://github.com/wxWidgets/wxPython/blob/master/wx/lib/filebrowsebutton.py

def OnBrowse (self, event = None): 
     """ Going to browse for file... """ 
     current = self.GetValue() 
     directory = os.path.split(current) 
     if os.path.isdir(current): 
      directory = current 
      current = '' 
     elif directory and os.path.isdir(directory[0]): 
      current = directory[1] 
      directory = directory [0] 
     else: 
      directory = self.startDirectory 
      current = '' 
     dlg = wx.FileDialog(self, self.dialogTitle, directory, current, 
          self.fileMask, self.fileMode) 

     if dlg.ShowModal() == wx.ID_OK: 
      self.SetValue(dlg.GetPath()) 
     dlg.Destroy() 
+0

감사합니다. 그건 그렇고,'fileMask'를'txt'와'csv' 파일 둘 다에 어떻게 매치 시키는가? 나는'*. {txt, csv}'로 시도했지만 작동하지 않습니다 ... – Shane

+0

님이 다른 스레드에서 답변했습니다 :) – pedram

관련 문제