2016-06-06 2 views
0

В моем проекте, заявление для Wxdialog является wx.Dialog.__init__(self, parent, wx.ID_ANY, 'Launch dialog', size=(-1,-1), pos=(-1,-1))WxPython-размер wxdialog не меняется

Я попытался увеличить размер диалогового окна, установив размер от size=(-1,-1) до size=(800,750)

Но ничего не изменилось .. Есть ли какая-то причина этого. Пожалуйста, помогите мне решить эту проблему.

+0

Показан wx.Dialog? –

+0

ya диалог открывается .. но по умолчанию размер родителя я думаю. – Nithya

+0

попробуйте поставить self.SetSize ((sizex, sizey)) в конце функции init. Если не работать, попробуйте вызвать dialog.SetSize после создания экземпляра –

ответ

0

Ваш код выглядит хорошо.
Вот рабочий диалог с живого проекта

class Rem_mess(wx.Dialog): 
    def __init__(self,parent,ddate,dtext,dtype): 
     wx.Dialog.__init__(self, parent, wx.ID_ANY, dtype, size= (320,240), pos=(1000,10)) 
     font = wx.SystemSettings_GetFont(wx.SYS_SYSTEM_FONT) 
     font.SetPointSize(9) 
     self.SetWindowStyle(wx.STAY_ON_TOP) 
     self.snooze_list = ['Snooze for','5 Mins','15 Mins','30 Mins','1 Hour','1 Day','1 Week','No Snooze'] 
     self.snooze_mins = [0,5,15,30,60,1440,10080,0] 
     time_panel = wx.Panel(self, wx.ID_ANY) 
     time_panel.SetFont(font) 

     label_date = wx.StaticText(time_panel, wx.ID_ANY, (ddate)) 
     label_text = wx.TextCtrl(time_panel, wx.ID_ANY, style= wx.TE_MULTILINE | wx.TE_READONLY, size=(300,110)) 
     self.snooze = wx.Choice(time_panel, wx.ID_ANY, choices=self.snooze_list,size=(200,28)) 
     self.quit_button = wx.Button(time_panel, label="&Close", size=(70,30)) 
     time_panel.SetBackgroundColour(wx.Colour(201, 196, 255)) 
     sizer = wx.GridBagSizer(hgap=2,vgap=2) 
     sizer.Add(label_date, pos=(0,1), flag = wx.ALL|wx.EXPAND) 
     sizer.Add(label_text, pos=(1,1), flag = wx.ALL|wx.EXPAND) 
     sizer.Add(self.snooze, pos=(2,1), flag = wx.ALL|wx.EXPAND) 
     sizer.Add(self.quit_button,pos=(4,1), flag =wx.ALL|wx.CENTER) 
     time_panel.SetSizer(sizer) 
     self.quit_button.Bind(wx.EVT_BUTTON, self.OnQuit) 
     label_text.SetValue(dtext) 

    def OnQuit(self, event): 
     self.Close() 

    def GetSelection(self): 
     idx = self.snooze.GetSelection() 
     return self.snooze_mins[idx] 

    def GetSelectionString(self): 
     return self.snooze.GetString(self.snooze.GetSelection()) 

И это называется так:

res = Rem_mess(parent=None, ddate=d_date,dtext=d_text,dtype="Reminder") 
    if res.ShowModal() == wx.ID_OK: 
     snooze_res = res.GetSelection() 
    res.Destroy() 

Я надеюсь, что это помогает!

+0

Привет, спасибо для решения. Это не работает для моего случая. Параметр не должен быть «Нет» для моего диалога. Если я делаю это «Нет», возникает ошибка атрибута. – Nithya

+0

Без минимального, полного и проверяемого примера мы танцуем в темноте. http://stackoverflow.com/help/mcve –

+0

Привет, пожалуйста, смотрите это [http://stackoverflow.com/questions/37112551/how-to-stop-growing-width-of-window-when-child-sizers-width -increased-in-wx-dial] .. Это также опубликовано мной и с вышеупомянутой проблемой. – Nithya

Смежные вопросы