Рабочий пример:

ормы: Windows, OS X

Версия Python: Active State Python 2.7

Версия wxPython: версия 2.9

Вот пример кода, в котором я использую wxMessageBox:

import wx,os

class Frame(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(100, 100),style=wx.MINIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN)

        host=os.system('hostname')
        if host!='superman':            
            self.dialogBox=wx.MessageBox('The host name should be superman. Closing this dialog box in 2s...','Info')            
            self.Destroy()
        else:
            self.Center()
            self.Show()

if __name__ == '__main__':
    app = wx.App(redirect=False)
    frame = Frame(None, -1, 'Sample')
    app.MainLoop()

В соответствии с приведенным выше фрагментом кода, если имя хоста не «супермен», то пользователю отображается окно сообщения и предлагается нажать «ОК». Если пользователь нажимает кнопку «ОК» в окне сообщения, то элемент управления переходит к следующей строке в коде (то есть, строке № 10), где кадр разрушается. Я хочу иметь возможность автоматически закрывать диалоговое окно и переходить к следующей строке в коде, т.е.self.Destroy() если пользователь не нажмет кнопку «ОК» в течение следующих 2 секунд. Любые мысли о том, как мне это сделать в wxpython?

Ответы на вопрос(2)

Ваш ответ на вопрос