From fbdc79e14cd0fde3a92b34e15de3ef0e3a51a200 Mon Sep 17 00:00:00 2001 From: danamir Date: Thu, 3 May 2018 00:09:49 +0300 Subject: [PATCH] try again --- main.py | 144 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 115 insertions(+), 29 deletions(-) diff --git a/main.py b/main.py index 9974420..23b307b 100644 --- a/main.py +++ b/main.py @@ -1,43 +1,129 @@ # -*- coding: utf-8 -*- import wx -import wx.xrc + +class MainFramePanel(wx.Panel): + def __init__(self, parent): + wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 500), + style=wx.FULL_REPAINT_ON_RESIZE) + self.frame = parent + + bSizer1 = wx.BoxSizer(wx.VERTICAL) + + self.lbl_kaf = wx.StaticText(self, wx.ID_ANY, u"Кафедра «Организация и безопасность движения»", + wx.DefaultPosition, wx.DefaultSize, 0) + self.lbl_kaf.Wrap(-1) + bSizer1.Add(self.lbl_kaf, 0, wx.ALIGN_CENTER | wx.ALL, 5) + + self.lbl_NameProg = wx.StaticText(self, wx.ID_ANY, u"Расчёт цикла светофорного регулирования на перекрёстке", + wx.DefaultPosition, wx.DefaultSize, 0) + self.lbl_NameProg.Wrap(-1) + bSizer1.Add(self.lbl_NameProg, 0, wx.ALIGN_CENTER | wx.ALL, 5) + + self.lbl_predstv = wx.StaticText(self, wx.ID_ANY, u"Предстваьтесь", wx.DefaultPosition, wx.DefaultSize, 0) + self.lbl_predstv.Wrap(-1) + bSizer1.Add(self.lbl_predstv, 0, wx.ALL, 5) + + fgSizer1 = wx.FlexGridSizer(0, 2, 0, 0) + fgSizer1.SetFlexibleDirection(wx.BOTH) + fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) + + self.lbl_name = wx.StaticText(self, wx.ID_ANY, u"Имя", wx.DefaultPosition, wx.DefaultSize, 0) + self.lbl_name.Wrap(-1) + fgSizer1.Add(self.lbl_name, 0, wx.ALL, 5) + + self.inpt_name = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) + fgSizer1.Add(self.inpt_name, 0, wx.ALL, 5) + + self.lbl_familia = wx.StaticText(self, wx.ID_ANY, u"Фамилия", wx.DefaultPosition, wx.DefaultSize, 0) + self.lbl_familia.Wrap(-1) + fgSizer1.Add(self.lbl_familia, 0, wx.ALL, 5) + + self.inpt_familia = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) + fgSizer1.Add(self.inpt_familia, 0, wx.ALL, 5) + + self.lbl_group = wx.StaticText(self, wx.ID_ANY, u"Группа", wx.DefaultPosition, wx.DefaultSize, 0) + self.lbl_group.Wrap(-1) + fgSizer1.Add(self.lbl_group, 0, wx.ALL, 5) + + self.inpt_group = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) + fgSizer1.Add(self.inpt_group, 0, wx.ALL, 5) + + self.lbl_zachetka = wx.StaticText(self, wx.ID_ANY, u"№ Зачётной книжки", wx.DefaultPosition, wx.DefaultSize, 0) + self.lbl_zachetka.Wrap(-1) + fgSizer1.Add(self.lbl_zachetka, 0, wx.ALL, 5) + + self.inpt_zachetka = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) + fgSizer1.Add(self.inpt_zachetka, 0, wx.ALL, 5) + + bSizer1.Add(fgSizer1, 1, wx.EXPAND, 5) + gSizer1 = wx.GridSizer(0, 2, 0, 0) + + self.btn_settongs = wx.Button(self, wx.ID_ANY, u"Настройки", wx.DefaultPosition, wx.DefaultSize, 0) + gSizer1.Add(self.btn_settongs, 0, wx.ALIGN_BOTTOM | wx.ALL, 5) + + self.btn_page2 = wx.Button(self, wx.ID_ANY, u"Далее", wx.DefaultPosition, wx.DefaultSize, 0) + gSizer1.Add(self.btn_page2, 0, wx.ALIGN_BOTTOM | wx.ALIGN_RIGHT | wx.ALL, 5) + + bSizer1.Add(gSizer1, 1, wx.EXPAND, 5) + + self.SetSizer(bSizer1) + self.Layout() + self.btn_page2.Bind(wx.EVT_BUTTON, self.go_page2) + + def empty_pole(self): + dlg = wx.MessageDialog(self, 'Не все поля заполнены. Заполните все поля перед продолжением', 'Ошибка', wx.OK) + val = dlg.ShowModal() + if val == wx.ID_OK: + dlg.Destroy() -class MainPage(wx.Frame): + def go_page2(self, event): + + values = [] + name = self.inpt_name.GetValue() + name = name.replace(' ', '') + print(name) + + familia = self.inpt_familia.GetValue() + if len(familia) == 0: + self.empty_pole() + return + + group = self.inpt_group.GetValue() + if len(group) == 0: + self.empty_pole() + return + zach_number = self.inpt_zachetka.GetValue() + zach_number = zach_number.replace(' ', '') + if len(zach_number) == 0: + self.empty_pole() + return + + values.append(name) + values.append(familia) + values.append(group) + + print(values) + self.frame.Hide() + page2.MainFramePanel.run_page(self) + + + +class MainFrame(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, - size=wx.Size(500, 300), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) + size=wx.Size(500, 500), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) - sizer_all = wx.FlexGridSizer(2, 2, 0, 0) - sizer_all.SetFlexibleDirection(wx.BOTH) - sizer_all.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) - - self.lgn_label = wx.StaticText(self, wx.ID_ANY, u"Логин", wx.DefaultPosition, wx.DefaultSize, 0) - self.lgn_label.Wrap(-1) - sizer_all.Add(self.lgn_label, 0, wx.ALL, 5) - - self.lgn_txt = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) - sizer_all.Add(self.lgn_txt, 0, wx.ALL, 5) - - self.pswd_label = wx.StaticText(self, wx.ID_ANY, u"Пароль", wx.DefaultPosition, wx.DefaultSize, 0) - self.pswd_label.Wrap(-1) - sizer_all.Add(self.pswd_label, 0, wx.ALL, 5) - - self.pswd_txt = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, style=wx.TE_PASSWORD) - sizer_all.Add(self.pswd_txt, 0, wx.ALL, 5) - - self.SetSizer(sizer_all) - self.Layout() - self.Centre(wx.BOTH) + panel = MainFramePanel(self) -app = wx.App(False) -frame = MainPage(None) -frame.Show() -app.MainLoop() - +if __name__ == "__main__": + app = wx.App(False) + frame = MainFrame(None) + frame.Show() + app.MainLoop() \ No newline at end of file