diff --git a/base.py b/base.py deleted file mode 100644 index db9d72d..0000000 --- a/base.py +++ /dev/null @@ -1,11 +0,0 @@ -from sqlalchemy import create_engine -from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import sessionmaker - - - -engine = create_engine("sqlite:///db/odd.db", echo=True) -Session = sessionmaker(bind=engine) -Base = declarative_base() -Base.metadata.create_all(engine) - diff --git a/db/models.py b/db/models.py new file mode 100644 index 0000000..6ee94ee --- /dev/null +++ b/db/models.py @@ -0,0 +1,55 @@ +from sqlalchemy import Column, Integer, String, Float +from sqlalchemy import create_engine +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker + +engine = create_engine("sqlite:///odd.db", echo=True) +Session = sessionmaker(bind=engine) +Base = declarative_base(engine) +meta = Base.metadata + + +class Student(Base): + __tablename__ = 'Student' + id = Column(Integer, primary_key=True, autoincrement=True) + fname = Column("name", String(100)) + group = Column("group", String(10)) + zach_number = Column(Integer) + + def __init__(self, fname, group, zach_number): + self.fname = fname + self.group = group + self.zach_number = zach_number + + def __repr__(self): + return "Student(fname=%s, group=%s, zach_number=%s)" % (self.fname, self.group, self.zach_number) + + +class KatDorogi(Base): + __tablename__ = 'KatDor' + id = Column(Integer, primary_key=True, autoincrement=True) + kategoria = Column("kategoria", Integer) + minshirinapolosu = Column("Min Shirina Polosu", Float(Precision=16)) + maxshirinapolosu = Column("Max Shirina Polosu", Float(Precision=16)) + shirinaobochinu = Column("Shirian Obochinu", Float(Precision=16)) + maxpivedinetns = Column("Max Prived Intens", Integer) + + def __init__(self, kategoria, minshirinapolosu, maxshirinapolosu, shirinaobochinu, maxpivedinetns): + self.kategoria = kategoria + self.minshirinapolosu = minshirinapolosu + self.maxshirinapolosu = maxshirinapolosu + self.shirinaobochinu = shirinaobochinu + self.maxpivedinetns = maxpivedinetns + + def __repr__(self): + return "KatDor(kategoria=%s, minshirinapolosu=%s, maxshirinapolosu=%s, shirinaobochinu=%s, maxpivedinetns=%s)" % \ + (self.kategoria, self.minshirinapolosu, self.maxshirinapolosu, self.shirinaobochinu, self.maxpivedinetns) + + +meta.create_all(engine) + + + + + + diff --git a/db/odd.db b/db/odd.db index 1a96618..5a1cc95 100644 Binary files a/db/odd.db and b/db/odd.db differ diff --git a/gui/SecondPage.py b/gui/SecondPage.py old mode 100644 new mode 100755 index d77e64c..ee2cbb8 --- a/gui/SecondPage.py +++ b/gui/SecondPage.py @@ -1,152 +1,199 @@ import wx +import random + class SeconPageFrame(wx.Frame): - def __init__(self, *args, **kwds): - # begin wxGlade: SeconPageFrame.__init__ - kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE - wx.Frame.__init__(self, *args, **kwds) - self.SetSize((752, 617)) - self.panel_1 = wx.Panel(self, wx.ID_ANY) - self.text_ctrl_1 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") - self.checkbox_shir_dor1 = wx.CheckBox(self.panel_1, wx.ID_ANY, "") - self.text_ctrl_2 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") - self.checkbox_shir_dor2 = wx.CheckBox(self.panel_1, wx.ID_ANY, "") - self.checkbox_2 = wx.CheckBox(self.panel_1, wx.ID_ANY, "") - self.bitmap_button_1 = wx.BitmapButton(self.panel_1, wx.ID_ANY, wx.NullBitmap) - self.checkbox_3 = wx.CheckBox(self.panel_1, wx.ID_ANY, "") - self.bitmap_button_3 = wx.BitmapButton(self.panel_1, wx.ID_ANY, wx.NullBitmap) - self.bitmap_button_2 = wx.BitmapButton(self.panel_1, wx.ID_ANY, wx.NullBitmap) - self.btn_next = wx.Button(self.panel_1, wx.ID_ANY, u"\u0414\u0430\u043b\u0435\u0435") + def scale_bitmap(self, bitmap, width, height): + self.w = width + self.h = height + image = wx.Image(bitmap) + image = image.Scale(self.w, self.h, wx.IMAGE_QUALITY_HIGH) + result = wx.Bitmap(image) + return result - self.__set_properties() - self.__do_layout() + def __init__(self, *args, **kwds): + kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE + wx.Frame.__init__(self, *args, **kwds) + self.SetSize((800, 600)) + self.radio_btn_2 = wx.RadioButton(self, wx.ID_ANY, u"Крестообразный\n") + self.radio_btn_3 = wx.RadioButton(self, wx.ID_ANY, u"Т-образный") + self.text_ctrl_1 = wx.TextCtrl(self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER) + self.text_ctrl_2 = wx.TextCtrl(self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER) - self.Bind(wx.EVT_TEXT, self.raschet_shirinu_dor1, self.text_ctrl_1) - self.Bind(wx.EVT_TEXT_ENTER, self.raschet_shirinu_dor1, self.text_ctrl_1) - self.Bind(wx.EVT_TEXT, self.raschet_shirini_dor2, self.text_ctrl_2) - self.Bind(wx.EVT_TEXT_ENTER, self.raschet_shirini_dor2, self.text_ctrl_2) - self.Bind(wx.EVT_BUTTON, self.go_next_page, self.btn_next) - - # end wxGlade - - def __set_properties(self): - # begin wxGlade: SeconPageFrame.__set_properties - self.SetTitle("frame") - self.checkbox_shir_dor1.Enable(False) - self.checkbox_shir_dor1.Hide() - self.text_ctrl_2.SetMinSize((250, 33)) - self.checkbox_shir_dor2.Enable(False) - self.checkbox_shir_dor2.Hide() - - # end wxGlade - - def __do_layout(self): - # begin wxGlade: SeconPageFrame.__do_layout - sizer_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_3 = wx.BoxSizer(wx.VERTICAL) - grid_sizer_3 = wx.GridSizer(0, 4, 0, 0) - grid_sizer_2 = wx.GridSizer(0, 3, 0, 0) - grid_sizer_1 = wx.GridSizer(2, 4, 0, 0) - lbl_name = wx.StaticText(self.panel_1, wx.ID_ANY, - u"\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 " - u"\u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f " - u"\u0440\u0430\u0441\u0447\u0435\u0442\u0430:\n", - style=wx.ST_ELLIPSIZE_MIDDLE) - lbl_name.SetFont(wx.Font(18, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) - sizer_3.Add(lbl_name, 0, wx.ALIGN_CENTER, 0) - lbl_doroga1_header = wx.StaticText(self.panel_1, wx.ID_ANY, - u"\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f " - u"\n\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c" - u"\u043d\u043e\u0439 \u0443\u043b\u0438\u0446\u044b") - grid_sizer_1.Add(lbl_doroga1_header, 0, wx.FIXED_MINSIZE | wx.TOP, 0) - kat_1_dorogi = wx.StaticText(self.panel_1, wx.ID_ANY, "kat_1_dorogi") - grid_sizer_1.Add(kat_1_dorogi, 0, wx.FIXED_MINSIZE | wx.TOP, 0) - lbl_kat_dor2 = wx.StaticText(self.panel_1, wx.ID_ANY, - u"\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f " - u"\n\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 " - u"\u0443\u043b\u0438\u0446\u044b") - grid_sizer_1.Add(lbl_kat_dor2, 0, wx.EXPAND | wx.TOP, 0) - kat_dor2 = wx.StaticText(self.panel_1, wx.ID_ANY, "kat_dor2\n") - grid_sizer_1.Add(kat_dor2, 0, wx.EXPAND | wx.TOP, 0) - lbl_kolvo_polos_dor1 = wx.StaticText(self.panel_1, wx.ID_ANY, - u"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u043e\u0441 \n\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0443\u043b\u0438\u0446\u044b") - grid_sizer_1.Add(lbl_kolvo_polos_dor1, 0, wx.TOP, 0) - kolvo_polos_dor1 = wx.StaticText(self.panel_1, wx.ID_ANY, "kolvo_polos_dor1") - grid_sizer_1.Add(kolvo_polos_dor1, 0, wx.FIXED_MINSIZE | wx.TOP, 0) - lbl_kolvo_polos_dor2 = wx.StaticText(self.panel_1, wx.ID_ANY, - u"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e " - u"\u043f\u043e\u043b\u043e\u0441\n\u0412\u0435\u0440\u0442\u0438\u043a" - u"\u0430\u043b\u044c\u043d\u043e\u0439 \u0443\u043b\u0438\u0446\u044b") - lbl_kolvo_polos_dor2.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) - grid_sizer_1.Add(lbl_kolvo_polos_dor2, 0, wx.EXPAND | wx.TOP, 0) - kolvo_polos_dor2 = wx.StaticText(self.panel_1, wx.ID_ANY, "kolvo_polos_dor2") - grid_sizer_1.Add(kolvo_polos_dor2, 0, wx.EXPAND | wx.TOP, 0) - sizer_3.Add(grid_sizer_1, 1, wx.EXPAND, 0) - lbl_raschet = wx.StaticText(self.panel_1, wx.ID_ANY, - u"\u0420\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c:\n") - sizer_3.Add(lbl_raschet, 0, wx.EXPAND | wx.TOP, 0) - lbl_rasch_dor1 = wx.StaticText(self.panel_1, wx.ID_ANY, - u"\u0428\u0438\u0440\u0438\u043d\u0443 " - u"\u043f\u0440\u043e\u0435\u0437\u0436\u0435\u0439 " - u"\u0447\u0430\u0441\u0442\u0438\n\u0413\u043e\u0440\u0438\u0437\u043e\u043d" - u"\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0443\u043b\u0438\u0446\u044b") - grid_sizer_2.Add(lbl_rasch_dor1, 0, wx.EXPAND, 0) - grid_sizer_2.Add(self.text_ctrl_1, 0, wx.ALIGN_CENTER | wx.FIXED_MINSIZE, 0) - grid_sizer_2.Add(self.checkbox_shir_dor1, 0, wx.EXPAND, 0) - lbl_shiria_dor2 = wx.StaticText(self.panel_1, wx.ID_ANY, - u"\u0428\u0438\u0440\u0438\u043d\u0443 " - u"\u043f\u0440\u043e\u0435\u0436\u0435\u0439 " - u"\u0447\u0430\u0441\u0442\u0438\n\u0412\u0435\u0440\u0442\u0438\u043a\u0430" - u"\u043b\u044c\u043d\u043e\u0439 \u0443\u043b\u0438\u0446\u044b") - grid_sizer_2.Add(lbl_shiria_dor2, 0, wx.EXPAND, 0) - grid_sizer_2.Add(self.text_ctrl_2, 0, wx.ALIGN_CENTER | wx.FIXED_MINSIZE, 0) - grid_sizer_2.Add(self.checkbox_shir_dor2, 0, wx.EXPAND, 0) - sizer_3.Add(grid_sizer_2, 1, wx.EXPAND, 0) - lbl_type_prekr = wx.StaticText(self.panel_1, wx.ID_ANY, - u"\u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f " - u"\n\u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f\n") - grid_sizer_3.Add(lbl_type_prekr, 0, 0, 0) - grid_sizer_3.Add((0, 0), 0, 0, 0) - grid_sizer_3.Add((0, 0), 0, 0, 0) - grid_sizer_3.Add((0, 0), 0, 0, 0) - grid_sizer_3.Add(self.checkbox_2, 0, wx.ALIGN_CENTER, 0) - grid_sizer_3.Add(self.bitmap_button_1, 0, 0, 0) - grid_sizer_3.Add(self.checkbox_3, 0, wx.ALIGN_CENTER, 0) - grid_sizer_3.Add(self.bitmap_button_3, 0, 0, 0) - sizer_3.Add(grid_sizer_3, 1, wx.EXPAND, 0) - sizer_3.Add(self.bitmap_button_2, 0, 0, 0) - sizer_3.Add(self.btn_next, 0, wx.ALIGN_RIGHT, 0) - self.panel_1.SetSizer(sizer_3) - sizer_2.Add(self.panel_1, 1, wx.EXPAND, 0) - self.SetSizer(sizer_2) - self.Layout() - - # end wxGlade - - def raschet_shirinu_dor1(self, event): # wxGlade: SeconPageFrame. - print("Event handler 'raschet_shirinu_dor1' not implemented!") - event.Skip() - - def raschet_shirini_dor2(self, event): # wxGlade: SeconPageFrame. - print("Event handler 'raschet_shirini_dor2' not implemented!") - event.Skip() - - def go_next_page(self, event): # wxGlade: SeconPageFrame. - print("Event handler 'go_next_page' not implemented!") - event.Skip() + self.text_ctrl_1.Bind(wx.EVT_TEXT_ENTER, self.proverka) + self.text_ctrl_2.Bind(wx.EVT_TEXT_ENTER, self.proverka) -# end of class SeconPageFrame + self.__set_properties() + self.__do_layout() + self.set_kat_dor() + + + + def __set_properties(self): + self.SetTitle("Расчёт цикла светофорного регулирования") + + def __do_layout(self): + sizer_1 = wx.BoxSizer(wx.VERTICAL) + grid_sizer_2 = wx.GridSizer(0, 3, 20, 100) + grid_sizer_3 = wx.FlexGridSizer(0, 2, 20, 200) + grid_sizer_1 = wx.GridSizer(0, 4, 0, 0) + btn_sizer = wx.BoxSizer(wx.HORIZONTAL) + + label_6 = wx.StaticText(self, wx.ID_ANY, u"Исходные данные для расчёта:") + label_6.SetFont(wx.Font(16, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + sizer_1.Add(label_6, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) + + label_7 = wx.StaticText(self, wx.ID_ANY, u"Категория \n горизонтальной улицы") + grid_sizer_1.Add(label_7, 0, wx.ALIGN_CENTER | wx.ALL, 10) + + self.kat_horizont = wx.StaticText(self, wx.ID_ANY, "", style=wx.ALIGN_CENTER) + grid_sizer_1.Add(self.kat_horizont, 0, wx.ALIGN_CENTER, 0) + + label_9 = wx.StaticText(self, wx.ID_ANY, u"Категория \n вертикальной улицы") + grid_sizer_1.Add(label_9, 0, wx.ALIGN_CENTER, 0) + + self.kat_vertical = wx.StaticText(self, wx.ID_ANY, "") + grid_sizer_1.Add(self.kat_vertical, 0, wx.ALIGN_CENTER, 0) + + label10= wx.StaticText(self, wx.ID_ANY, u"Количество полос \n горизонтальной улицы") + grid_sizer_1.Add(label10, 0, wx.ALIGN_CENTER, 0) + + self.kolvo_polosv_horiz = wx.StaticText(self, wx.ID_ANY, "", style=wx.ALIGN_CENTER) + grid_sizer_1.Add(self.kolvo_polosv_horiz, 0, wx.ALIGN_CENTER, 0) + + label_13 = wx.StaticText(self, wx.ID_ANY, u"Количество полос \n вертикальной улицы") + grid_sizer_1.Add(label_13, 0, wx.ALIGN_CENTER, 0) + + self.kolvo_polosv_vert = wx.StaticText(self, wx.ID_ANY, "") + grid_sizer_1.Add(self.kolvo_polosv_vert, 0, wx.ALIGN_CENTER, 0) + + sizer_1.Add(grid_sizer_1, 1, wx.EXPAND, 0) + label_18 = wx.StaticText(self, wx.ID_ANY, u"Выберите тип пересечения:") + label_18.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + + sizer_1.Add(label_18, 0, wx.ALL, 9) + grid_sizer_3.Add(self.radio_btn_2, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) + grid_sizer_3.Add(self.radio_btn_3, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) + + img = self.scale_bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/perekr-4.jpg", 150, 150) + bitmap_4 = wx.StaticBitmap(self, wx.ID_ANY, wx.Bitmap()) + bitmap_4.SetBitmap(wx.Bitmap(img)) + grid_sizer_3.Add(bitmap_4, 0, 0, 0) + + img = self.scale_bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/perekr-t.jpg", 150, 150) + bitmap_5 = wx.StaticBitmap(self, wx.ID_ANY, wx.Bitmap()) + bitmap_5.SetBitmap(wx.Bitmap(img)) + grid_sizer_3.Add(bitmap_5, 0, 0, 0) + + sizer_1.Add(grid_sizer_3, 1, wx.CENTER, 0) + + label_15 = wx.StaticText(self, wx.ID_ANY, u"Вам необходимо рассчитать:") + label_15.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + sizer_1.Add(label_15, 0, 0, 0) + + label_16 = wx.StaticText(self, wx.ID_ANY, u"Ширину проезжей части \n горизонтальной улицы") + grid_sizer_2.Add(label_16, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, 0) + grid_sizer_2.Add(self.text_ctrl_1, 0, wx.ALIGN_CENTER, 0) + + self.bitmap_2 = wx.StaticBitmap(self, wx.ID_ANY, wx.EmptyBitmap(75, 75)) + self.bitmap_2.Hide() + grid_sizer_2.Add(self.bitmap_2, 0, wx.ALIGN_CENTER, 0) + + label_17 = wx.StaticText(self, wx.ID_ANY, u"Ширину проезжей части \n вертикальной улицы") + grid_sizer_2.Add(label_17, 0, 0, 0) + grid_sizer_2.Add(self.text_ctrl_2, 0, wx.ALIGN_CENTER, 0) + + self.bitmap_3 = wx.StaticBitmap(self, wx.ID_ANY, wx.Bitmap(75, 75)) + self.bitmap_3.Hide() + grid_sizer_2.Add(self.bitmap_3, 0, 0, 0) + + sizer_1.Add(grid_sizer_2, 1, wx.EXPAND, 0) + + + self.btn_page3 = wx.Button(self, wx.ID_ANY, u"Далее", wx.DefaultPosition, wx.DefaultSize, 0) + btn_sizer.Add(self.btn_page3, 0, wx.ALIGN_BOTTOM | wx.ALIGN_RIGHT | wx.ALL, 5) + sizer_1.Add(btn_sizer, 1, wx.EXPAND, 0) + self.btn_page3.Bind(wx.EVT_BUTTON, self.go_page3) + self.SetSizer(sizer_1) + self.Layout() + + def good(self): + self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg" + self.img4 = self.scale_bitmap(self.img1, 50, 50) + self.bitmap_2.SetBitmap(wx.Bitmap(self.img1)) + self.bitmap_2.Show() + self.Refresh() + + + def bad(self): + self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/error.jpg" + self.img3 = self.scale_bitmap(self.img2, 70, 50) + self.bitmap_3.SetBitmap(wx.Bitmap(self.img3)) + self.bitmap_3.Show() + self.Refresh() + + + def set_kat_dor(self): + self.kolvo_polosv_vert.SetLabel(str(random.randint(2, 4))) + self.kolvo_polosv_horiz.SetLabel(str(random.randint(2, 4))) + self.kat_horizont.SetLabel(str(random.randint(2, 4))) + self.kat_vertical.SetLabel(str(random.randint(2, 4))) + + def proverka(self, event): + print(self.text_ctrl_1.GetValue()) + print(self.text_ctrl_2.GetValue()) + + self.pr_Vert = int(self.kolvo_polosv_horiz.GetLabel()) * 3.75 + self.pr_hor = int(self.kolvo_polosv_horiz.GetLabel()) * 3.75 + + print(self.pr_hor) + print(self.pr_Vert) + + if str(self.pr_hor) == self.text_ctrl_1.GetValue(): + print("good") + self.bitmap_2.Hide() + self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg" + self.img4 = self.scale_bitmap(self.img1, 50, 50) + self.bitmap_2.SetBitmap(wx.Bitmap(self.img4)) + self.bitmap_2.Show() + self.Refresh() + else: + print("bad") + self.bitmap_2.Hide() + self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/error.jpg" + self.img3 = self.scale_bitmap(self.img2, 70, 50) + self.bitmap_2.SetBitmap(wx.Bitmap(self.img3)) + self.bitmap_2.Show() + self.Refresh() + + if str(self.pr_Vert) == self.text_ctrl_2.GetValue() and len(self.text_ctrl_2.GetValue()) > 0: + print("good") + self.bitmap_3.Hide() + self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg" + self.img4 = self.scale_bitmap(self.img1, 50, 50) + self.bitmap_3.SetBitmap(wx.Bitmap(self.img4)) + self.bitmap_3.Show() + self.Refresh() + else: + print("Bad") + self.bitmap_3.Hide() + self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/error.jpg" + self.img3 = self.scale_bitmap(self.img2, 70, 50) + self.bitmap_3.SetBitmap(wx.Bitmap(self.img3)) + self.bitmap_3.Show() + self.Refresh() + + def go_page3(self): + pass class SecondPage(wx.App): - def OnInit(self): - self.frame = SeconPageFrame(None, wx.ID_ANY, "") - self.frame.Show() - return True + def OnInit(self): + self.frame = SeconPageFrame(None, wx.ID_ANY, "") + self.frame.Show() + return True -# end of class SecondPage - if __name__ == "__main__": - SeconPage = SecondPage(0) - SeconPage.MainLoop() + SeconPage = SecondPage(0) + SeconPage.MainLoop() diff --git a/gui/page3.py b/gui/page3.py new file mode 100755 index 0000000..1f9cf29 --- /dev/null +++ b/gui/page3.py @@ -0,0 +1,223 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +# +# generated by wxGlade 0.8.3 on Thu Dec 6 09:44:54 2018 +# + +import wx +import wx.grid + +# begin wxGlade: dependencies +# end wxGlade + +# begin wxGlade: extracode +# end wxGlade + + +class MyFrame(wx.Frame): + def __init__(self, *args, **kwds): + # begin wxGlade: MyFrame.__init__ + kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE + wx.Frame.__init__(self, *args, **kwds) + self.SetSize((1013, 562)) + self.panel_1 = wx.Panel(self, wx.ID_ANY) + self.grid_1 = wx.grid.Grid(self.panel_1, wx.ID_ANY, size=(1, 1)) + self.text_ctrl_1 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_2 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_3 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_4 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_5 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_6 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_7 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_8 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_9 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.btn_page4 = wx.Button(self, wx.ID_ANY, u"\u0414\u0430\u043b\u0435\u0435") + + self.__set_properties() + self.__do_layout() + # end wxGlade + + def __set_properties(self): + # begin wxGlade: MyFrame.__set_properties + self.SetTitle("frame") + self.grid_1.CreateGrid(4, 8) + self.grid_1.SetColLabelValue(0, "1") + self.grid_1.SetColLabelValue(1, "2") + self.grid_1.SetColLabelValue(2, "3") + self.grid_1.SetColLabelValue(3, "4") + self.grid_1.SetColLabelValue(4, "5") + self.grid_1.SetColLabelValue(5, "6") + self.grid_1.SetColLabelValue(6, "7") + self.grid_1.SetColLabelValue(7, "8") + self.grid_1.SetRowLabelValue(0, "a") + self.grid_1.SetRowLabelValue(1, "b") + self.grid_1.SetRowLabelValue(2, "c") + self.grid_1.SetRowLabelValue(3, "d") + self.grid_1.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + # end wxGlade + + def __do_layout(self): + # begin wxGlade: MyFrame.__do_layout + sizer_1 = wx.BoxSizer(wx.VERTICAL) + sizer_2 = wx.BoxSizer(wx.HORIZONTAL) + grid_sizer_2 = wx.GridBagSizer(0, 0) + grid_sizer_1 = wx.FlexGridSizer(0, 1, 0, 0) + label_2 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Исходные данные для расчёта:") + label_2.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_1.Add(label_2, 0, wx.ALL, 10) + label_4 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Состав транспортного потока:") + label_4.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_1.Add(label_4, 0, wx.ALL, 10) + label_5 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Легковые автомобили - 60%") + grid_sizer_1.Add(label_5, 0, 0, 0) + label_6 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Легковые автомобили - 35%") + grid_sizer_1.Add(label_6, 0, 0, 0) + label_7 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Автобусы - 3%") + grid_sizer_1.Add(label_7, 0, 0, 0) + label_8 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Автопоезда - 2%") + grid_sizer_1.Add(label_8, 0, 0, 0) + label_9 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Коэффициенты приведения:") + label_9.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_1.Add(label_9, 0, wx.ALL, 10) + label_10 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Легковые автомобили - 1 ") + label_10.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + grid_sizer_1.Add(label_10, 0, 0, 0) + label_11 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Легковые автомобили - 1.5") + label_11.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + grid_sizer_1.Add(label_11, 0, 0, 0) + label_12 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Автобусы - 2.5") + label_12.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + grid_sizer_1.Add(label_12, 0, 0, 0) + label_13 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Автопоезда - 3", style=wx.ALIGN_LEFT) + label_13.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + grid_sizer_1.Add(label_13, 0, 0, 0) + label_14 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Таблица интенсивности а/м по наравлениям") + label_14.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_1.Add(label_14, 0, wx.ALL, 10) + grid_sizer_1.Add(self.grid_1, 1, wx.ALL | wx.EXPAND, 10) + grid_sizer_1.Add((0, 0), 0, 0, 0) + sizer_2.Add(grid_sizer_1, 1, wx.EXPAND | wx.SHAPED, 0) + static_line_1 = wx.StaticLine(self.panel_1, wx.ID_ANY, style=wx.LI_VERTICAL) + sizer_2.Add(static_line_1, 0, wx.EXPAND, 0) + label_1 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Необходимо рассчитать:") + label_1.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_2.Add(label_1, (0, 0), (1, 1), wx.ALL, 10) + label_3 = wx.StaticText(self.panel_1, wx.ID_ANY, "N = a*Ni*x + b*Ni*y + c*Ni*z + d*Ni*w ") + label_3.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_2.Add(label_3, (1, 0), (1, 1), wx.ALL, 10) + label_15 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0433\u0434\u0435 N - \u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c, \u0430\u0432\u0442/ \u0447\na,b,c,d -\u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f\nx,y,z - \u0434\u043e\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439") + grid_sizer_2.Add(label_15, (2, 0), (1, 1), 0, 0) + label_16 = wx.StaticText(self.panel_1, wx.ID_ANY, "N1 = ") + grid_sizer_2.Add(label_16, (3, 0), (1, 1), 0, 0) + label_25 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_25, (3, 1), (1, 1), 0, 0) + label_26 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_26, (3, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_1, (3, 3), (1, 1), 0, 0) + bitmap_1 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_1.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_1, (3, 4), (1, 1), 0, 0) + label_17 = wx.StaticText(self.panel_1, wx.ID_ANY, "N11 = ") + grid_sizer_2.Add(label_17, (4, 0), (1, 1), 0, 0) + label_27 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_27, (4, 1), (1, 1), 0, 0) + label_28 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_28, (4, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_2, (4, 3), (1, 1), 0, 0) + bitmap_2 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_2.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_2, (4, 4), (1, 1), 0, 0) + label_18 = wx.StaticText(self.panel_1, wx.ID_ANY, "N12 = ") + grid_sizer_2.Add(label_18, (5, 0), (1, 1), 0, 0) + label_31 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_31, (5, 1), (1, 1), 0, 0) + label_32 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_32, (5, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_3, (5, 3), (1, 1), 0, 0) + bitmap_3 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_3.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_3, (5, 4), (1, 1), 0, 0) + label_19 = wx.StaticText(self.panel_1, wx.ID_ANY, u"N1(\u043f\u0440\u044f\u043c\u043e) = ") + grid_sizer_2.Add(label_19, (6, 0), (1, 1), 0, 0) + label_29 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_29, (6, 1), (1, 1), 0, 0) + label_30 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_30, (6, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_4, (6, 3), (1, 1), 0, 0) + bitmap_4 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_4.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_4, (6, 4), (1, 1), 0, 0) + label_20 = wx.StaticText(self.panel_1, wx.ID_ANY, "N2 = ") + grid_sizer_2.Add(label_20, (7, 0), (1, 1), 0, 0) + label_33 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_33, (7, 1), (1, 1), 0, 0) + label_34 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_34, (7, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_5, (7, 3), (1, 1), 0, 0) + bitmap_5 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_5.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_5, (7, 4), (1, 1), 0, 0) + label_21 = wx.StaticText(self.panel_1, wx.ID_ANY, "N21 =") + grid_sizer_2.Add(label_21, (8, 0), (1, 1), 0, 0) + label_35 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_35, (8, 1), (1, 1), 0, 0) + label_36 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_36, (8, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_6, (8, 3), (1, 1), 0, 0) + bitmap_6 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_6.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_6, (8, 4), (1, 1), 0, 0) + label_22 = wx.StaticText(self.panel_1, wx.ID_ANY, "N22 =") + grid_sizer_2.Add(label_22, (9, 0), (1, 1), 0, 0) + label_37 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_37, (9, 1), (1, 1), 0, 0) + label_38 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_38, (9, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_7, (9, 3), (1, 1), 0, 0) + bitmap_7 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_7.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_7, (9, 4), (1, 1), 0, 0) + label_23 = wx.StaticText(self.panel_1, wx.ID_ANY, u"N2(\u043f\u0440\u044f\u043c\u043e) =") + grid_sizer_2.Add(label_23, (10, 0), (1, 1), 0, 0) + label_39 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_39, (10, 1), (1, 1), 0, 0) + label_40 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_40, (10, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_8, (10, 3), (1, 1), 0, 0) + bitmap_8 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_8.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_8, (10, 4), (1, 1), 0, 0) + label_24 = wx.StaticText(self.panel_1, wx.ID_ANY, "N3 =") + grid_sizer_2.Add(label_24, (11, 0), (1, 1), 0, 0) + label_41 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_41, (11, 1), (1, 1), 0, 0) + label_42 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_42, (11, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_9, (11, 3), (1, 1), 0, 0) + bitmap_9 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_9.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_9, (11, 4), (1, 1), 0, 0) + sizer_2.Add(grid_sizer_2, 1, wx.EXPAND, 0) + self.panel_1.SetSizer(sizer_2) + + sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0) + sizer_1.Add(self.btn_page4, 0, wx.ALIGN_RIGHT, 0) + + self.SetSizer(sizer_1) + self.Layout() + # end wxGlade + +# end of class MyFrame + +class MyApp(wx.App): + def OnInit(self): + self.frame = MyFrame(None, wx.ID_ANY, "") + self.SetTopWindow(self.frame) + self.frame.Show() + return True + +# end of class MyApp + +if __name__ == "__main__": + app = MyApp(0) + app.MainLoop() diff --git a/img/error.jpg b/img/error.jpg new file mode 100644 index 0000000..58812b1 Binary files /dev/null and b/img/error.jpg differ diff --git a/img/good.jpg b/img/good.jpg new file mode 100644 index 0000000..f9dd598 Binary files /dev/null and b/img/good.jpg differ diff --git a/img/perekr-4.jpg b/img/perekr-4.jpg new file mode 100644 index 0000000..25d4bfa Binary files /dev/null and b/img/perekr-4.jpg differ diff --git a/img/perekr-t.jpg b/img/perekr-t.jpg new file mode 100644 index 0000000..51c1c2e Binary files /dev/null and b/img/perekr-t.jpg differ diff --git a/img/perekr-t.png b/img/perekr-t.png new file mode 100644 index 0000000..e132a52 Binary files /dev/null and b/img/perekr-t.png differ diff --git a/learn/image2.py b/learn/image2.py index 7e005af..5aff598 100644 --- a/learn/image2.py +++ b/learn/image2.py @@ -1,8 +1,9 @@ import wx -def scale_bitmap(bitmap, width, height): - image = wx.ImageFromBitmap(bitmap) - image = image.Scale(width, height, wx.IMAGE_QUALITY_HIGH) +def scale_bitmap(bitmap): + dw, dh = wx.DisplaySize() + image = bitmap.ConvertToImage() + image = image.Scale(dw, dh, wx.IMAGE_QUALITY_HIGH) result = wx.BitmapFromImage(image) return result @@ -10,13 +11,13 @@ class Panel(wx.Panel): def __init__(self, parent, path): super(Panel, self).__init__(parent, -1) bitmap = wx.Bitmap(path) - bitmap = scale_bitmap(bitmap, 300, 200) + bitmap = scale_bitmap(bitmap) control = wx.StaticBitmap(self, -1, bitmap) - control.SetPosition((10, 10)) + control.SetPosition((0, 0)) if __name__ == '__main__': - app = wx.PySimpleApp() + app = wx.App() frame = wx.Frame(None, -1, 'Scaled Image') panel = Panel(frame, 'input.jpg') frame.Show() - app.MainLoop() \ No newline at end of file + app.MainLoop() diff --git a/main.py b/main.py index cfaaf20..53d035a 100644 --- a/main.py +++ b/main.py @@ -1,14 +1,11 @@ # -*- coding: utf-8 -*- import wx -from models import Student +from db.models import Student from sqlalchemy import exists -from base import Session +from db.models import Session from gui import SecondPage - - - 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), @@ -27,7 +24,7 @@ class MainFramePanel(wx.Panel): 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 = 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) @@ -84,7 +81,6 @@ class MainFramePanel(wx.Panel): if val == wx.ID_OK: dlg.Destroy() - def go_page2(self, event): name = self.inpt_name.GetValue() name = name.replace(' ', '') @@ -115,6 +111,8 @@ class MainFramePanel(wx.Panel): student = Student(fname=fio, group=group, zach_number=zach_number) new_session.add(student) new_session.commit() + if fio == 'талыкова ксения': + from gui import kotya self.frame.Destroy() SecondPage.SecondPage.OnInit(SecondPage) @@ -133,4 +131,5 @@ if __name__ == "__main__": app = wx.App(False) frame = MainFrame(None) frame.Show() - app.MainLoop() \ No newline at end of file + app.MainLoop() + diff --git a/models.py b/models.py deleted file mode 100644 index 0025ddd..0000000 --- a/models.py +++ /dev/null @@ -1,21 +0,0 @@ -from sqlalchemy import Column, Integer, String -from base import Base - - -class Student(Base): - __tablename__ = 'Student' - id = Column(Integer, primary_key=True, autoincrement=True) - fname = Column("name", String(100)) - group = Column("group", String(10)) - zach_number = Column(Integer) - - def __init__(self,fname,group, zach_number): - self.fname =fname - self.group = group - self.zach_number = zach_number - - - def __repr__(self): - return " + + + + + 1013, 562 + frame + + + wxVERTICAL + + + 0 + wxEXPAND + + + wxHORIZONTAL + + + 0 + wxEXPAND|wxSHAPED + + 0 + 1 + 0 + 0 + + + 10 + wxALL + + + 14 + default + + bold + 0 + + + + + + + + 10 + wxALL + + + 11 + default + + bold + 0 + + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 10 + wxALL + + + 11 + default + + bold + 0 + + + + + + + + 0 + + + 11 + default + + normal + 0 + .SF NS Text + + + + + + + 0 + + + 11 + default + + normal + 0 + .SF NS Text + + + + + + + 0 + + + 11 + default + + normal + 0 + .SF NS Text + + + + + + + 0 + + + 11 + default + + normal + 0 + .SF NS Text + + + + + + + + 10 + wxALL + + + 11 + default + + bold + 0 + + + + + + + + 10 + wxALL|wxEXPAND + + + 11 + default + + normal + 0 + .SF NS Text + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + a + b + c + d + + 1 + 1 + 1 + 1 + 1 + wxGrid.wxGridSelectCells + + + + + + + + 0 + wxEXPAND + + + + + + + 0 + wxEXPAND + + 12 + 5 + 0 + 0 + + 10 + wxALL + + + 14 + default + + bold + 0 + + + + + + + + + + + 10 + wxALL + + + 11 + default + + bold + 0 + + + + + + + + + + + 0 + + + + + + + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + + + + + + + 0 + wxALIGN_RIGHT + + + + + + + diff --git a/src/page3.py b/src/page3.py new file mode 100755 index 0000000..6ac5d8b --- /dev/null +++ b/src/page3.py @@ -0,0 +1,221 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +# +# generated by wxGlade 0.8.3 on Tue Dec 4 08:25:17 2018 +# + +import wx +import wx.grid + +# begin wxGlade: dependencies +# end wxGlade + +# begin wxGlade: extracode +# end wxGlade + + +class MyFrame(wx.Frame): + def __init__(self, *args, **kwds): + # begin wxGlade: MyFrame.__init__ + kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE + wx.Frame.__init__(self, *args, **kwds) + self.SetSize((1296, 631)) + self.panel_1 = wx.Panel(self, wx.ID_ANY) + self.grid_1 = wx.grid.Grid(self.panel_1, wx.ID_ANY, size=(1, 1)) + self.text_ctrl_1 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_2 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_3 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_4 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_5 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_6 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_7 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_8 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.text_ctrl_9 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "") + self.btn_page4 = wx.Button(self, wx.ID_ANY, u"\u0414\u0430\u043b\u0435\u0435") + + self.__set_properties() + self.__do_layout() + # end wxGlade + + def __set_properties(self): + # begin wxGlade: MyFrame.__set_properties + self.SetTitle("frame") + self.grid_1.CreateGrid(4, 8) + self.grid_1.SetColLabelValue(0, "1") + self.grid_1.SetColLabelValue(1, "2") + self.grid_1.SetColLabelValue(2, "3") + self.grid_1.SetColLabelValue(3, "4") + self.grid_1.SetColLabelValue(4, "5") + self.grid_1.SetColLabelValue(5, "6") + self.grid_1.SetColLabelValue(6, "7") + self.grid_1.SetColLabelValue(7, "8") + self.grid_1.SetRowLabelValue(0, "a") + self.grid_1.SetRowLabelValue(1, "b") + self.grid_1.SetRowLabelValue(2, "c") + self.grid_1.SetRowLabelValue(3, "d") + self.grid_1.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + # end wxGlade + + def __do_layout(self): + # begin wxGlade: MyFrame.__do_layout + sizer_1 = wx.BoxSizer(wx.VERTICAL) + sizer_2 = wx.BoxSizer(wx.HORIZONTAL) + grid_sizer_2 = wx.GridBagSizer(0, 0) + grid_sizer_1 = wx.FlexGridSizer(0, 1, 0, 0) + label_2 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430\n") + label_2.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_1.Add(label_2, 0, wx.ALL, 10) + label_4 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0421\u043e\u0441\u0442\u0430\u0432 \u0442\u0440\u043d\u0430\u0441\u043f\u043e\u0440\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430") + label_4.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_1.Add(label_4, 0, wx.ALL, 10) + label_5 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u041b\u0435\u0433\u043a\u043e\u0432\u044b\u0435 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0438 - 60%") + grid_sizer_1.Add(label_5, 0, 0, 0) + label_6 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0413\u0440\u0443\u0437\u043e\u0432\u044b\u0435 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0438 - 35%") + grid_sizer_1.Add(label_6, 0, 0, 0) + label_7 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0410\u0432\u0442\u043e\u0431\u0443\u0441\u044b - 3%") + grid_sizer_1.Add(label_7, 0, 0, 0) + label_8 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0410\u0432\u0442\u043e\u043f\u043e\u0435\u0437\u0434\u0430 - 2%") + grid_sizer_1.Add(label_8, 0, 0, 0) + label_9 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u041a\u043e\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f") + label_9.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_1.Add(label_9, 0, wx.ALL, 10) + label_10 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u041b\u0435\u0433\u043a\u043e\u0432\u044b\u0435 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0438 - 1 ") + label_10.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + grid_sizer_1.Add(label_10, 0, 0, 0) + label_11 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0413\u0440\u0443\u0437\u043e\u0432\u044b\u0435 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b - 1.5") + label_11.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + grid_sizer_1.Add(label_11, 0, 0, 0) + label_12 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0410\u0432\u0442\u043e\u0431\u0443\u0441\u044b - 2.5") + label_12.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + grid_sizer_1.Add(label_12, 0, 0, 0) + label_13 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0410\u0432\u0442\u043e\u043f\u043e\u0435\u0437\u0434\u0430 - 3", style=wx.ALIGN_LEFT) + label_13.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ".SF NS Text")) + grid_sizer_1.Add(label_13, 0, 0, 0) + label_14 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0430/\u043c \u043f\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u043c\u0438") + label_14.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_1.Add(label_14, 0, wx.ALL, 10) + grid_sizer_1.Add(self.grid_1, 1, wx.ALL | wx.EXPAND, 10) + grid_sizer_1.Add((0, 0), 0, 0, 0) + sizer_2.Add(grid_sizer_1, 1, wx.EXPAND | wx.SHAPED, 0) + static_line_1 = wx.StaticLine(self.panel_1, wx.ID_ANY, style=wx.LI_VERTICAL) + sizer_2.Add(static_line_1, 0, wx.EXPAND, 0) + label_1 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c:") + label_1.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_2.Add(label_1, (0, 0), (1, 1), wx.ALL, 10) + label_3 = wx.StaticText(self.panel_1, wx.ID_ANY, "N = a*Ni*x + b*Ni*y + c*Ni*z + d*Ni*w ") + label_3.SetFont(wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) + grid_sizer_2.Add(label_3, (1, 0), (1, 1), wx.ALL, 10) + label_15 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0433\u0434\u0435 N - \u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c, \u0430\u0432\u0442/ \u0447\na,b,c,d -\u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f\nx,y,z - \u0434\u043e\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439") + grid_sizer_2.Add(label_15, (2, 0), (1, 1), 0, 0) + label_16 = wx.StaticText(self.panel_1, wx.ID_ANY, "N1 = ") + grid_sizer_2.Add(label_16, (3, 0), (1, 1), 0, 0) + label_25 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_25, (3, 1), (1, 1), 0, 0) + label_26 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_26, (3, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_1, (3, 3), (1, 1), 0, 0) + bitmap_1 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_1.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_1, (3, 4), (1, 1), 0, 0) + label_17 = wx.StaticText(self.panel_1, wx.ID_ANY, "N11 = ") + grid_sizer_2.Add(label_17, (4, 0), (1, 1), 0, 0) + label_27 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_27, (4, 1), (1, 1), 0, 0) + label_28 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_28, (4, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_2, (4, 3), (1, 1), 0, 0) + bitmap_2 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_2.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_2, (4, 4), (1, 1), 0, 0) + label_18 = wx.StaticText(self.panel_1, wx.ID_ANY, "N12 = ") + grid_sizer_2.Add(label_18, (5, 0), (1, 1), 0, 0) + label_31 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_31, (5, 1), (1, 1), 0, 0) + label_32 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_32, (5, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_3, (5, 3), (1, 1), 0, 0) + bitmap_3 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_3.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_3, (5, 4), (1, 1), 0, 0) + label_19 = wx.StaticText(self.panel_1, wx.ID_ANY, u"N1(\u043f\u0440\u044f\u043c\u043e) = ") + grid_sizer_2.Add(label_19, (6, 0), (1, 1), 0, 0) + label_29 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_29, (6, 1), (1, 1), 0, 0) + label_30 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_30, (6, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_4, (6, 3), (1, 1), 0, 0) + bitmap_4 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_4.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_4, (6, 4), (1, 1), 0, 0) + label_20 = wx.StaticText(self.panel_1, wx.ID_ANY, "N2 = ") + grid_sizer_2.Add(label_20, (7, 0), (1, 1), 0, 0) + label_33 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_33, (7, 1), (1, 1), 0, 0) + label_34 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_34, (7, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_5, (7, 3), (1, 1), 0, 0) + bitmap_5 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_5.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_5, (7, 4), (1, 1), 0, 0) + label_21 = wx.StaticText(self.panel_1, wx.ID_ANY, "N21 =") + grid_sizer_2.Add(label_21, (8, 0), (1, 1), 0, 0) + label_35 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_35, (8, 1), (1, 1), 0, 0) + label_36 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_36, (8, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_6, (8, 3), (1, 1), 0, 0) + bitmap_6 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_6.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_6, (8, 4), (1, 1), 0, 0) + label_22 = wx.StaticText(self.panel_1, wx.ID_ANY, "N22 =") + grid_sizer_2.Add(label_22, (9, 0), (1, 1), 0, 0) + label_37 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_37, (9, 1), (1, 1), 0, 0) + label_38 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_38, (9, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_7, (9, 3), (1, 1), 0, 0) + bitmap_7 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_7.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_7, (9, 4), (1, 1), 0, 0) + label_23 = wx.StaticText(self.panel_1, wx.ID_ANY, u"N2(\u043f\u0440\u044f\u043c\u043e) =") + grid_sizer_2.Add(label_23, (10, 0), (1, 1), 0, 0) + label_39 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_39, (10, 1), (1, 1), 0, 0) + label_40 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_40, (10, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_8, (10, 3), (1, 1), 0, 0) + bitmap_8 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_8.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_8, (10, 4), (1, 1), 0, 0) + label_24 = wx.StaticText(self.panel_1, wx.ID_ANY, "N3 =") + grid_sizer_2.Add(label_24, (11, 0), (1, 1), 0, 0) + label_41 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_41, (11, 1), (1, 1), 0, 0) + label_42 = wx.StaticText(self.panel_1, wx.ID_ANY, "") + grid_sizer_2.Add(label_42, (11, 2), (1, 1), 0, 0) + grid_sizer_2.Add(self.text_ctrl_9, (11, 3), (1, 1), 0, 0) + bitmap_9 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg", wx.BITMAP_TYPE_ANY)) + bitmap_9.SetMinSize((35, 35)) + grid_sizer_2.Add(bitmap_9, (11, 4), (1, 1), 0, 0) + sizer_2.Add(grid_sizer_2, 1, wx.EXPAND, 0) + self.panel_1.SetSizer(sizer_2) + sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0) + sizer_1.Add(self.btn_page4, 0, wx.ALIGN_RIGHT, 0) + self.SetSizer(sizer_1) + self.Layout() + # end wxGlade + +# end of class MyFrame + +class MyApp(wx.App): + def OnInit(self): + self.frame = MyFrame(None, wx.ID_ANY, "") + self.SetTopWindow(self.frame) + self.frame.Show() + return True + +# end of class MyApp + +if __name__ == "__main__": + app = MyApp(0) + app.MainLoop() diff --git a/src/page3.wxg b/src/page3.wxg new file mode 100644 index 0000000..1237494 --- /dev/null +++ b/src/page3.wxg @@ -0,0 +1,575 @@ + + + + + + 1141, 631 + frame + + + wxVERTICAL + + + 0 + wxEXPAND + + + wxHORIZONTAL + + + 0 + wxEXPAND|wxSHAPED + + 0 + 1 + 0 + 0 + + + 10 + wxALL + + + 14 + default + + bold + 0 + + + + + + + + 10 + wxALL + + + 11 + default + + bold + 0 + + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 10 + wxALL + + + 11 + default + + bold + 0 + + + + + + + + 0 + + + 11 + default + + normal + 0 + .SF NS Text + + + + + + + 0 + + + 11 + default + + normal + 0 + .SF NS Text + + + + + + + 0 + + + 11 + default + + normal + 0 + .SF NS Text + + + + + + + 0 + + + 11 + default + + normal + 0 + .SF NS Text + + + + + + + + 10 + wxALL + + + 11 + default + + bold + 0 + + + + + + + + 10 + wxALL|wxEXPAND + + + 11 + default + + normal + 0 + .SF NS Text + + 1 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + + + a + b + c + d + + 1 + 1 + 1 + 1 + 1 + wxGrid.wxGridSelectCells + + + + + + + + 0 + wxEXPAND + + + + + + + 0 + wxEXPAND + + 19 + 3 + 0 + 0 + + 10 + wxALL + + + 14 + default + + bold + 0 + + + + + + + + + 10 + wxALL + + + 11 + default + + bold + 0 + + + + + + + + + 0 + + + + + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + 0 + + + + + + 0 + + + + + 0 + + 35, 35 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + + + + + + + diff --git a/src/second_page.wxg b/src/second_page.wxg new file mode 100644 index 0000000..b82420f --- /dev/null +++ b/src/second_page.wxg @@ -0,0 +1,172 @@ + + + + + + 658, 331 + frame + + + wxVERTICAL + + + 0 + wxALIGN_CENTER_HORIZONTAL + + + 16 + default + + bold + 0 + + + + + + + + 0 + wxEXPAND + + 0 + 4 + 0 + 0 + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + + 0 + + + 14 + default + + bold + 0 + + + + + + + + 0 + wxEXPAND + + 0 + 3 + 0 + 0 + + + 0 + wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL + + + + + + + 0 + wxALIGN_CENTER + + + + + + 0 + + 1 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + + 0 + + + + + + + 0 + wxALIGN_CENTER + + + + + + 0 + + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + + + + diff --git a/src/second_page1.wxg b/src/second_page1.wxg new file mode 100644 index 0000000..3a78aa7 --- /dev/null +++ b/src/second_page1.wxg @@ -0,0 +1,229 @@ + + + + + + 658, 331 + frame + + + wxVERTICAL + + + 0 + wxALIGN_CENTER_HORIZONTAL + + + 16 + default + + bold + 0 + + + + + + + + 0 + wxEXPAND + + 0 + 4 + 0 + 0 + + + 10 + wxALL|wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + 0 + wxALIGN_CENTER + + + + + + + + 9 + wxALL + + + 14 + default + + bold + 0 + + + + + + + + 0 + wxEXPAND + + 0 + 2 + 0 + 0 + + + 0 + wxALIGN_CENTER_HORIZONTAL + + + + + + + 0 + wxALIGN_CENTER_HORIZONTAL + + + + + + + 0 + + /Users/danamir/PycharmProjects/odd-perekrestok/img/perekr-4.jpg + + + + + 0 + + /Users/danamir/PycharmProjects/odd-perekrestok/img/perekr-t.png + + + + + + + 0 + + + 14 + default + + bold + 0 + + + + + + + + 0 + wxEXPAND + + 1 + 6 + 0 + 0 + + + 0 + wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL + + + + + + + 0 + wxALIGN_CENTER + + + + + + 0 + + 1 + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + + 0 + + + + + + + 0 + wxALIGN_CENTER + + + + + + 0 + + /Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg + + + + + + +