Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 3, 2008 21:21:26

124bit
От:
Зарегистрирован: 2008-04-10
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

Торможу с wxWidgets

пожалуйста, ответте на коментарии к коду..




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()



заранее пасибо)



Офлайн

#2 Окт. 3, 2008 22:58:36

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Торможу с wxWidgets

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')

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version