View difference between Paste ID: 8KpzD4pw and uyEAp95Y
SHOW: | | - or go back to the newest paste.
1
import wx
2
3
class MainFrame(wx.Frame):
4
    def __init__(self, parent):
5
        wx.Frame.__init__(self, parent, -1, 'Runnable example')
6
7
        btn = wx.Button(self, -1, 'Show example')
8
        self.Bind(wx.EVT_BUTTON, self.on_button, btn)
9
10
        hsizer = wx.BoxSizer(wx.HORIZONTAL)
11
        vsizer = wx.BoxSizer(wx.VERTICAL)
12
13
        hsizer.Add(btn, flag=wx.ALIGN_CENTER)
14
        vsizer.Add(hsizer, proportion=1, flag=wx.ALIGN_CENTER)
15
16
        self.SetSizer(vsizer)
17
18
    def on_button(self, event):
19
        # Show the progress dialog.
20
        pdlg = self.show_loading()
21
22-
        # Wait for a little bit.
22+
23-
        wx.MicroSleep(500)
23+
24
25
        wx.MessageBox('There was an error\n\nError information...', 'Error',
26
                      wx.OK | wx.ICON_ERROR, self)
27
28
    def show_loading(self):
29
        style = wx.PD_APP_MODAL | wx.PD_ELAPSED_TIME | wx.PD_REMAINING_TIME
30
        dialog = wx.ProgressDialog(
31
            'Saving file', 'Your document is being saved\n\nPlease wait',
32
            parent=self, style=style
33
        )
34
35
        dialog.Pulse()
36
37
        return dialog
38
39
class App(wx.App):
40
    def OnInit(self):
41
        self.frame = MainFrame(None)
42
43
        self.SetTopWindow(self.frame)
44
45
        self.frame.Show(True)
46
47
        return True
48
49
if __name__ == '__main__':
50
    app = App()
51
    app.MainLoop()