您好,登錄后才能下訂單哦!
本文實例講述了Python wxPython庫消息對話框MessageDialog用法。分享給大家供大家參考,具體如下:
消息對話框即我們平時說的Messagebox,看看它的原型,下面是wxWidgets中的原型定義,C++風格,與python風格的區別就是wx前綴與后面名稱直接相連,例如wxMessageDialog,在wxpython中使用時就是wx.MessageDialog
wxMessageDialog(wxWindow* parent, const wxString& message, const wxString& caption = "Message box", long style = wxOK | wxCANCEL, const wxPoint& pos = wxDefaultPosition)
其各參數不多做介紹,主要看看ShowModal()
方法,它使用應用程序在對話框關閉前不能響應其它窗口的用戶事件,返回一個整數,取值如下:
wx.ID_YES
, wx.ID_NO
, wx.ID_CANCEL
, wx.ID_OK
。
另外,style的取值主要有以下幾種:
wxOK | Show an OK button. |
wxCANCEL | Show a Cancel button. |
wxYES_NO | Show Yes and No buttons. |
wxYES_DEFAULT | Used with wxYES_NO, makes Yes button the default - which is the default behaviour. |
wxNO_DEFAULT | Used with wxYES_NO, makes No button the default. |
wxICON_EXCLAMATION | Shows an exclamation mark icon. |
wxICON_HAND | Shows an error icon. |
wxICON_ERROR | Shows an error icon - the same as wxICON_HAND. |
wxICON_QUESTION | Shows a question mark icon. |
wxICON_INFORMATION | Shows an information (i) icon. |
wxSTAY_ON_TOP | The message box stays on top of all other window, even those of the other applications (Windows only). |
還是看一個例子:
代碼:
#!/usr/bin/env python # -*- coding: utf-8 -*- import wx class MyFrame(wx.Frame): def __init__(self, parent, id): wx.Frame.__init__(self, parent, id, u'測試面板Panel', size = (600, 300)) #創建面板 panel = wx.Panel(self) #在Panel上添加Button button = wx.Button(panel, label = u'關閉', pos = (150, 60), size = (100, 60)) #綁定單擊事件 self.Bind(wx.EVT_BUTTON, self.OnCloseMe, button) def OnCloseMe(self, event): dlg = wx.MessageDialog(None, u"消息對話框測試", u"標題信息", wx.YES_NO | wx.ICON_QUESTION) if dlg.ShowModal() == wx.ID_YES: self.Close(True) dlg.Destroy() if __name__ == '__main__': app = wx.PySimpleApp() frame = MyFrame(parent = None, id = -1) frame.Show() app.MainLoop()
測試:
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。