From a7ddada83ff54a14726158c7e0bf35fff0068023 Mon Sep 17 00:00:00 2001 From: danamir Date: Thu, 16 Aug 2018 01:02:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BD=D0=BE=D0=BF=D0=BA=D0=B0=20"=D0=9D?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8"=20=D1=82?= =?UTF-8?q?=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=BA=D0=BB=D0=B8=D0=BA=D0=B0?= =?UTF-8?q?=D0=B1=D0=B5=D0=BB=D1=8C=D0=BD=D0=B0.=20=D0=9A=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=87=D0=B8=D1=89=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- gui/MainPage.py | 104 +++++++++++++++++++++++++++++ gui/MainSettings.py | 69 +++++++++++++++++++ gui/second_page.py | 4 +- labs/lab1/lr1_main.py | 130 +++++++++++++++++------------------- main.py | 15 ++++- src_gui/maket/AutoDrob.bmpr | Bin 299008 -> 301056 bytes 7 files changed, 249 insertions(+), 75 deletions(-) create mode 100644 gui/MainPage.py create mode 100644 gui/MainSettings.py diff --git a/.gitignore b/.gitignore index 347bfdc..c6851eb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -venv1 +venv .idea sorce diff --git a/gui/MainPage.py b/gui/MainPage.py new file mode 100644 index 0000000..9575c1b --- /dev/null +++ b/gui/MainPage.py @@ -0,0 +1,104 @@ +# -*- coding: utf-8 -*- +import wx +import main + +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_settings = wx.Button(self, wx.ID_ANY, u"Настройки", wx.DefaultPosition, wx.DefaultSize, 0) + gSizer1.Add(self.btn_settings, 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, main.MainPage.go_page2) + self.btn_settings.Bind(wx.EVT_BUTTON, main.MainPage.change_settings) + + def get_valuse(self): + data = [] + name = self.inpt_name.GetValue() + familia = self.inpt_familia.GetValue() + group = self.inpt_group.GetValue() + zachetka = self.inpt_zachetka.GetValue() + data.append(name, familia, group, zachetka) + return data + + + +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, 500), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) + + self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) + + self.Centre(wx.BOTH) + panel = MainFramePanel(self) + +def run_page(): + app = wx.App(False) + frame = MainFrame(None) + frame.Show() + app.MainLoop() + +if __name__ == "__main__": + run_page() \ No newline at end of file diff --git a/gui/MainSettings.py b/gui/MainSettings.py new file mode 100644 index 0000000..a9bc38c --- /dev/null +++ b/gui/MainSettings.py @@ -0,0 +1,69 @@ +import wx + + +class MainPanel(wx.Panel): + + def __init__(self, parent): + wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(300, 70), + style=wx.TAB_TRAVERSAL) + + bSizer1 = wx.BoxSizer(wx.VERTICAL) + + fgSizer1 = wx.FlexGridSizer(0, 3, 0, 0) + fgSizer1.SetFlexibleDirection(wx.BOTH) + fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) + + self.m_staticText2 = wx.StaticText(self, wx.ID_ANY, u"Введите пароль", wx.DefaultPosition, wx.DefaultSize, 0) + self.m_staticText2.Wrap(-1) + + fgSizer1.Add(self.m_staticText2, 0, wx.ALL, 5) + + self.m_textCtrl2 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) + fgSizer1.Add(self.m_textCtrl2, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) + + self.btn_ok = wx.Button(self, wx.ID_ANY, u"OK", wx.DefaultPosition, wx.Size(60, -1), 0) + fgSizer1.Add(self.btn_ok, 0, wx.ALL, 5) + + bSizer1.Add(fgSizer1, 1, wx.EXPAND, 5) + + self.SetSizer(bSizer1) + self.Layout() + self._bindGuiEvents() + + def __del__(self): + pass + + def _bindGuiEvents(self): + self.btn_ok.Bind(wx.EVT_BUTTON, self.ok_pressed) + + + def ok_pressed(self, event): + paswd = self.m_textCtrl2.GetValue() + if paswd == str('123456'): + self.run_admin_interface() + + def run_admin_interface(self): + pass + + + +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(300, 70), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) + + self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) + + self.Centre(wx.BOTH) + panel = MainPanel(self) + +def run_page(): + app = wx.App(False) + frame = MainFrame(None) + frame.Show() + app.MainLoop() + +if __name__ == '__main__': + run_page() + diff --git a/gui/second_page.py b/gui/second_page.py index 1520f76..b2c06d9 100644 --- a/gui/second_page.py +++ b/gui/second_page.py @@ -29,8 +29,8 @@ class SecondPagePanel(wx.Panel): # Virtual event handlers, overide them in your derived class def lab1(self, event): - from labs.lab1 import lab1 - nex_page = lab1.MainFrame() + from labs.lab1 import lr1_main + nex_page = lr1_main.run_page() nex_page.Show() class SecondPage(wx.Frame): diff --git a/labs/lab1/lr1_main.py b/labs/lab1/lr1_main.py index 5924e57..d3c5fd7 100644 --- a/labs/lab1/lr1_main.py +++ b/labs/lab1/lr1_main.py @@ -1,76 +1,68 @@ -# -*- coding: utf-8 -*- - -########################################################################### -## Python code generated with wxFormBuilder (version Jul 11 2018) -## http://www.wxformbuilder.org/ -## -## PLEASE DO *NOT* EDIT THIS FILE! -########################################################################### +# -*- coding: utf-8 -*- import wx -import wx.xrc -########################################################################### -## Class MyFrame1 -########################################################################### -class MyFrame1 ( 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 ) - - self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) - - - self.Centre( wx.BOTH ) - - def __del__( self ): - pass - +class MyPanel1(wx.Panel): -########################################################################### -## Class MyPanel1 -########################################################################### + def __init__(self, parent): + wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 300), + style=wx.TAB_TRAVERSAL) -class MyPanel1 ( wx.Panel ): - - def __init__( self, parent ): - wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.TAB_TRAVERSAL ) - - bSizer3 = wx.BoxSizer( wx.VERTICAL ) - - bSizer4 = wx.BoxSizer( wx.VERTICAL ) - - self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"Лабораторная работа 1", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.m_staticText2.Wrap( -1 ) - - bSizer4.Add( self.m_staticText2, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 ) - - self.m_button4 = wx.Button( self, wx.ID_ANY, u"Прочти теорию", wx.DefaultPosition, wx.DefaultSize, 0 ) - bSizer4.Add( self.m_button4, 0, wx.ALL, 5 ) - - self.m_button5 = wx.Button( self, wx.ID_ANY, u"Ответь на вопросы", wx.DefaultPosition, wx.DefaultSize, 0 ) - bSizer4.Add( self.m_button5, 0, wx.ALL, 5 ) - - self.m_button6 = wx.Button( self, wx.ID_ANY, u"Выполни лабораторную работу", wx.DefaultPosition, wx.DefaultSize, 0 ) - bSizer4.Add( self.m_button6, 0, wx.ALL, 5 ) - - - bSizer3.Add( bSizer4, 1, wx.EXPAND, 5 ) - - wSizer1 = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) - - self.m_button10 = wx.Button( self, wx.ID_ANY, u"Выйти", wx.DefaultPosition, wx.DefaultSize, 0 ) - wSizer1.Add( self.m_button10, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5 ) - - - bSizer3.Add( wSizer1, 1, wx.EXPAND, 5 ) - - - self.SetSizer( bSizer3 ) - self.Layout() - - def __del__( self ): - pass - + bSizer3 = wx.BoxSizer(wx.VERTICAL) + bSizer4 = wx.BoxSizer(wx.VERTICAL) + + self.m_staticText2 = wx.StaticText(self, wx.ID_ANY, u"Лабораторная работа 1", wx.DefaultPosition, + wx.DefaultSize, 0) + self.m_staticText2.Wrap(-1) + + bSizer4.Add(self.m_staticText2, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) + + self.m_button4 = wx.Button(self, wx.ID_ANY, u"Прочти теорию", wx.DefaultPosition, wx.Size(200, -1), 0) + bSizer4.Add(self.m_button4, 0, wx.LEFT, 5) + + self.m_button5 = wx.Button(self, wx.ID_ANY, u"Ответь на вопросы", wx.DefaultPosition, wx.Size(200, -1), 0) + bSizer4.Add(self.m_button5, 0, wx.ALL, 5) + + self.m_button6 = wx.Button(self, wx.ID_ANY, u"Выполни лабораторную работу", wx.DefaultPosition, + wx.Size(200, -1), 0) + bSizer4.Add(self.m_button6, 0, wx.ALL, 5) + + bSizer3.Add(bSizer4, 1, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 5) + + wSizer1 = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) + + self.m_button10 = wx.Button(self, wx.ID_ANY, u"Выйти", wx.DefaultPosition, wx.DefaultSize, 0) + wSizer1.Add(self.m_button10, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 5) + + bSizer3.Add(wSizer1, 1, wx.EXPAND, 5) + + self.SetSizer(bSizer3) + self.Layout() + self.m_button4.Bind(wx.EVT_BUTTON, self.read_theory) + + def read_theory(self): + pass + + + +class MyFrame1(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) + + self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) + + self.Centre(wx.BOTH) + panel = MyPanel1(self) + +def run_page(): + app = wx.App(False) + frame = MyFrame1(None) + frame.Show() + app.MainLoop() + +if __name__ == '__main__': + run_page() \ No newline at end of file diff --git a/main.py b/main.py index 3fdbb86..60e7652 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import wx + 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), @@ -67,8 +68,10 @@ class MainFramePanel(wx.Panel): bSizer1.Add(gSizer1, 1, wx.EXPAND, 5) self.SetSizer(bSizer1) + self._bindGuiEvents() self.Layout() - self.btn_page2.Bind(wx.EVT_BUTTON, self.go_page2) + + def empty_pole(self): dlg = wx.MessageDialog(self, 'Не все поля заполнены. Заполните все поля перед продолжением', 'Ошибка', wx.OK) @@ -76,6 +79,10 @@ class MainFramePanel(wx.Panel): if val == wx.ID_OK: dlg.Destroy() + def _bindGuiEvents(self): + self.btn_page2.Bind(wx.EVT_BUTTON, self.go_page2) + self.btn_settongs.Bind(wx.EVT_BUTTON, self.run_settings) + def go_page2(self, event): from gui import second_page @@ -111,8 +118,9 @@ class MainFramePanel(wx.Panel): self.frame.Hide() second_page.run_page(self) - - + def run_settings(self, event): + from gui import MainSettings + MainSettings.run_page() class MainFrame(wx.Frame): def __init__(self, parent): @@ -127,6 +135,7 @@ class MainFrame(wx.Frame): if __name__ == "__main__": + print(" ") app = wx.App(False) frame = MainFrame(None) frame.Show() diff --git a/src_gui/maket/AutoDrob.bmpr b/src_gui/maket/AutoDrob.bmpr index 446d465787fe3003060761ddde25d445bf693071..83ea6041554021a3d5d338a65b428a3fa69e87d8 100644 GIT binary patch delta 236 zcmZozAk?ryXo57aA_D`X8Uq7^91t^2)G%jM+?Zg%#%Q>CA{!HlDGMEFQ3xgAoWz66R#3n$NA%g`F8vt2OK$ zU<6|M>49-fMw{(QPO!7QWng@}S&`*2Bli>*c8*3_)egydfsaiNTb?6)0~EgpNSk5U3i+-h7K)Glx-razdKbX1kIT z>@4pY7~gMJWO>TSJ%x##qfu71Lv&u?WSLx#%?@?D7+HYMk!xybYhY|^U}|e%Ue>@O F00801B@+Mu