2016-06-06 2 views
0

을 변경하지 않는, Wxdialog에 대한 문은 내가 size=(800,750)wxPython에 크기는 내 프로젝트에서

size=(-1,-1)에서 크기를 설정하여 대화 상자의 크기를 증가하는 것을 시도했다 wx.Dialog.__init__(self, parent, wx.ID_ANY, 'Launch dialog', size=(-1,-1), pos=(-1,-1))

입니다하지만 아무것도 변경되었습니다 ..이 뒤에 어떤 이유가 있니.이 문제를 해결하도록 도와주세요.

+0

wx.Dialog가 표시되고 있습니까? –

+0

ya 대화 상자가 열려 있습니다. 그러나 부모님의 기본 크기로 추측됩니다. – Nithya

+0

init 함수의 끝에 self.SetSize ((sizex, sizey))를 넣으십시오. 작동하지 않으면 인스턴스를 –

답변

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