wxpython 대화 상자
-
11-09-2019 - |
문제
오류 대화 상자를 표시하는 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
.
제휴하지 않습니다 StackOverflow