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の中のダイアログは、私が上記使用されるアイコンに限定されていますか?マックOS Xに彼らが正しく表示されていないようです。
解決
wx.ICON_ERROR
またはwx.ICON_EXCLAMATION
のような引数はwx.MessageDialog
コンストラクタの実際のアイコンではなく、整数フラグではありません。これらのメッセージダイアログがオペレーティングシステムコールをネイティブにレンダリングされたので、彼らは、例えば、異なる見ていますWindowsとMac OS X上でます。
、MessageDialog
引数は、密接に、WindowsのAPI メッセージボックスに似ています機能のスタイルフラグ(MB_ICONERROR
、MB_ICONEXCLAMATION
、など。)。
、あなただけwx.Dialog
に基づか、独自のメッセージダイアログクラスを実装する必要があります。
所属していません StackOverflow