Форум сайта python.su
пожалуйста, ответте на коментарии к коду..
import wx
class MyButtons(wx.Dialog):
def __init__(self, parent, id, title):
wx.Dialog.__init__(self, parent, id, title, size=(400, 200)) # 1 чем диалог отличается от фрэйм?
wx.Button(self, 1, ‘Close’, (50, 130))
wx.Button(self, 2, ‘Add settings’, (150, 130), (110, -1))
self.Bind(wx.EVT_BUTTON, self.OnClose, id=1)
self.Bind(wx.EVT_BUTTON, self.Open_new_window, id=2)
self.Centre()
self.ShowModal() # 2 чем это отличается это от обычного Show,,?
self.Destroy() # 3 дестрой это же вроде убрать,? чего эта команда вообще здесь делает, чего она удаляет,?
def OnClose(self, event):
self.Close(True)
def Open_new_window(self, event):
pass #4 не могли бы вы показать, как открыть ещо одно frame (наверно дочернее) с кнопками и другими виджетами из этой функции,?
app = wx.App(0)
MyButtons(None, -1, ‘buttons.py’)
app.MainLoop()
заранее пасибо)
Офлайн
self.ShowModal() # 2 чем это отличается это от обычного Show,,?Тем что создаёт модальный диалог. Show создаёт обычный.
справка
int ShowModal()
Shows a modal dialog. Program flow does not return until the dialog has been dismissed with wxDialog::EndModal.
self.Destroy() # 3 дестрой это же вроде убрать,? чего эта команда вообще здесь делает, чего она удаляет,?Не надо гадать, надо читать справку.
справка
When deleting a frame or dialog, use Destroy rather than delete so that the wxWidgets delayed deletion can take effect. This waits until idle time (when all messages have been processed) to actually delete the window, to avoid problems associated with the GUI sending events to deleted windows.
pass #4 не могли бы вы показать, как открыть ещо одно frame (наверно дочернее) с кнопками и другими виджетами из этой функции,?
def Open_new_window(self, event):
# покажет тоже самое модальное окно над другим модальным окном
MyButtons2(None, -1, 'mybutton model')
Офлайн