문제

오류 대화 상자를 표시하는 wxpython에서 클래스를 작성하고 있습니다. 내 코드는 다음과 같습니다.

import wx

class Error:
   def __init__(self, number, string):
      self.error_type = number
      self.error_message = string
      self.choose_error()

   def choose_error(self):
      if self.error_type == 1:
         self.DisplayMessage1()
      elif self.error_type == 2:
         self.DisplayMessage2()
      elif self.error_type == 3:
         self.DisplayMessage3()
      elif self.error_type == 4:
         self.DisplayMessage4()

   def DisplayMessage1(self):
      dial = wx.MessageDialog(None, self.error_message, 'Info', wx.OK)
      dial.ShowModal()

   def DisplayMessage2(self):
      dial = wx.MessageDialog(None, self.error_message, 'Error', wx.OK | 
         wx.ICON_ERROR)
      dial.ShowModal()

   def DisplayMessage3(self):
      dial = wx.MessageDialog(None, self.error_message, 'Question', 
         wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION)
      dial.ShowModal()

   def DisplayMessage4(self):
      dial = wx.MessageDialog(None, self.error_message, 'Warning', wx.OK | 
         wx.ICON_EXCLAMATION)
      dial.ShowModal()

사용자 정의 아이콘에 사용 된 기본 아이콘을 어떻게 변경할 수 있습니까 ?? 나는 그것들을 wx.icon으로 교체하려고했지만 작동하지 않았습니다. Wxpython의 대화 상자는 위에서 사용한 아이콘으로 제한됩니까? Mac OS X에서는 올바르게 표시되지 않는 것 같습니다.

도움이 되었습니까?

해결책

논쟁이 좋아요 wx.ICON_ERROR 또는 wx.ICON_EXCLAMATION 실제 아이콘이 아니라 오히려 정수 깃발입니다. wx.MessageDialog 건설자. 이러한 메시지 대화 상자는 운영 체제 통화로 기본적으로 렌더링되므로 Windows 및 Mac OS X에서 다르게 보입니다.

WXWidgets는 Windows API를 위해 설계되었으므로 MessageDialog 인수는 Windows API와 매우 유사합니다 MessageBox 함수 스타일 깃발 (MB_ICONERROR, MB_ICONEXCLAMATION, 등.).

대화 상자에 자신의 아이콘을 사용하려면 자신의 메시지 대화 상자 클래스를 구현하면됩니다. wx.Dialog.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top