In this wxPython article i want to show you How To Create MessageBox in wxPython. so MessageBox in wxPython is a dialog function which displays a MessageBox with an optional icon. There are three different MessageBox in wxPython that you can use.
Also you can check More GUI Development Tutorials in the below link.
1: PyQt5 GUI Development Tutorials
2: TKinter GUI Development Tutorials
3: Pyside2 GUI Development Tutorials
4: Kivy GUI Development Tutorials
So this is the complete code for How To Create MessageBox in wxPython
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import wx class MyFrame(wx.Frame): def __init__(self, parent, title): super(MyFrame, self).__init__(parent, title =title,size = (500,400)) self.panel = MyPanel(self) class MyPanel(wx.Panel): def __init__(self, parent): super(MyPanel, self).__init__(parent) self.button = wx.Button(self, label = "Open Message Box", pos = (100,100)) self.Bind(wx.EVT_BUTTON, self.messageBox) def messageBox(self, event): #wx.MessageBox('Message Box Dialog Info Icon', 'Dialog', wx.OK | wx.ICON_INFORMATION) #wx.MessageBox('Message Box Dialog Warning Icon', 'Dialog', wx.OK | wx.ICON_WARNING) wx.MessageBox('Message Box Dialog Error Icon', 'Dialog', wx.OK | wx.ICON_ERROR) class MyApp(wx.App): def OnInit(self): self.frame = MyFrame(parent=None, title="Message Box") self.frame.Show() return True app = MyApp() app.MainLoop() |
This is class is MyFrame class that extends from wx.Frame and it is a top level window that contains our panel.
1 2 3 4 5 6 7 8 9 |
class MyFrame(wx.Frame): def __init__(self, parent, title): super(MyFrame, self).__init__(parent, title =title,size = (500,400)) self.panel = MyPanel(self) |
After that we have created MyPanel class that extends from wx.Panel and it is the place that we create our widgets and layouts in this class. And in this class we have created a button also we have done binding of our def messageBox() method.
1 2 3 4 5 6 |
class MyPanel(wx.Panel): def __init__(self, parent): super(MyPanel, self).__init__(parent) self.button = wx.Button(self, label = "Open Message Box", pos = (100,100)) self.Bind(wx.EVT_BUTTON, self.messageBox) |
And this is the three different MessageBox in wxPython that we have created.
1 2 3 4 |
def messageBox(self, event): #wx.MessageBox('Message Box Dialog Info Icon', 'Dialog', wx.OK | wx.ICON_INFORMATION) #wx.MessageBox('Message Box Dialog Warning Icon', 'Dialog', wx.OK | wx.ICON_WARNING) wx.MessageBox('Message Box Dialog Error Icon', 'Dialog', wx.OK | wx.ICON_ERROR) |
So the last class is MyApp class that extends from wx.App. the OnInit() method is where you will most often create frame subclass objects. and start our main loop.that’s it. Once the application’s main event loop processing takes over, control passes to wxPython. Unlike procedural programs, a wxPython GUI program primarily responds to the events taking place around it, mostly determined by a human user clicking with a mouse and typing at the keyboard. When all the frames in an application have been closed, the app.MainLoop() method will return and the program will exit.
1 2 3 4 5 6 7 8 9 10 |
class MyApp(wx.App): def OnInit(self): self.frame = MyFrame(parent=None, title="Message Box") self.frame.Show() return True app = MyApp() app.MainLoop() |
So run the complete code and this will be the result
Also you can watch the complete video for this article
Subscribe and Get Free Video Courses & Articles in your Email