Compare commits

..

5 Commits

Author SHA1 Message Date
danamir
d2facc93b0 add win platform code 2021-06-23 07:31:09 +03:00
danamir
129f6b6d63 add sources files 2021-06-23 07:22:38 +03:00
danamir
012dfc3e49 Удалены отладочные файлы 2021-06-07 01:08:58 +03:00
danamir
dfd0d77873 Автоматическое определение пути к базе данных
Закончена работа над 1м окном
2018-12-24 16:39:26 +03:00
danamir
ca1f945101 fixing bugs 2018-12-12 09:46:16 +03:00
20 changed files with 1558 additions and 512 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@ learn
.idea
.python-version
venv
__pycache__

View File

@@ -1,13 +1,20 @@
import os
import tkinter as tk
import sys
import wx
def hex_to_rgb(value):
value = value.lstrip('#')
lv = len(value)
return tuple(int(value[i:i + lv // 3], 16) for i in range(0, lv, lv // 3))
def setBacgroundColor():
"""
Устанавливает цвет панели для приложения
:return:
:return: цвет в hex
"""
color = "white"
hex_color = "#DBF0B2"
color =hex_to_rgb(hex_color)
return color
def setBckgroundButtonColor():
@@ -16,28 +23,22 @@ def setBckgroundButtonColor():
Устанавливает цвет кнопок
:return:
"""
wx.lib.colourdb.updateColourDB()
color = wx.NamedColour("light coral")
hex_color = "#F8B8B8"
color = hex_to_rgb(hex_color)
return color
def getFullPath(file):
put = os.getcwd()
path = str(put) + '\\' + file
return path
def setSize():
"""
:parameter sh,sw - ширина и высота экрана, на котором
запускается программа
:return: w,h - размеры фрейма для отрисовки gui
"""
root = tk.Tk()
sw = root.winfo_screenwidth()
sh = root.winfo_screenheight()
w = int(0.75 * sw)
h = int(0.75 * sh)
if w < 800 and h < 600:
w, h = 800, 600
def getSizeH():
app = wx.App(False)
sw, sh = wx.GetDisplaySize()
w = 0.75 * sw
h = 0.75 * sh
app.Destroy()
return w, h

View File

@@ -1,10 +1,18 @@
from sqlalchemy import Column, Integer, String, Float
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
import os
import platform
path_db = os.path.abspath("db/odd.db")
path = "C:\\Users\\danamir\\PycharmProjects\\odd-perekrestok\\db\\odd.db"
engine = create_engine("sqlite:///C:\\Users\\danamir\\PycharmProjects\\odd-perekrestok\\db\\odd.db", echo=True)
if platform.system() == "Windows":
path = "sqlite:///" + path_db
else:
path = "sqlite:////" + path_db
engine = create_engine(path, echo=True)
Session = sessionmaker(bind=engine)
Base = declarative_base(engine)
meta = Base.metadata
@@ -59,13 +67,6 @@ class Zadanie(Base):
return "Zadanie(n1=%s)" %(self.n1)
meta.create_all(engine)

BIN
db/odd.db

Binary file not shown.

View File

@@ -1,25 +1,52 @@
import wx
import random
import controller
import os
import logging
import platform
class SeconPageFrame(wx.Frame):
class SecondPageFrame(wx.Frame):
#Логирование
#срез 18
def __init__(self, *args, **kwds):
# begin wxGlade: SeconPageFrame.__init__
logging.basicConfig(filename="..\\app.log",
filemode='a',
format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s',
datefmt='%H:%M:%S',
level=logging.DEBUG)
logging.info("second page runing")
kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.SetSize((658, 331))
self.SetSize((600, 800))
self.panel_1 = wx.Panel(self, wx.ID_ANY)
self.panel_1.SetBackgroundColour(self.color)
self.radio_btn_2 = wx.RadioButton(self.panel_1, wx.ID_ANY, u"Крестообразный")
self.radio_btn_3 = wx.RadioButton(self.panel_1, wx.ID_ANY, u"Т-образный")
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_1.Bind(wx.EVT_TEXT_ENTER, self.proverka_vvoda)
self.text_ctrl_2.Bind(wx.EVT_TEXT_ENTER, self.proverka_vvoda)
self.radio_btn_2.SetValue(True)
# self.panel_1.SetBackgroundColour(self.color)
self.radio_krest = wx.RadioButton(self.panel_1, wx.ID_ANY, u"Крестообразный")
self.radio_t_obr = wx.RadioButton(self.panel_1, wx.ID_ANY, u"Т-образный")
self.shir_horiz = wx.TextCtrl(self.panel_1, wx.ID_ANY, "", style=wx.TE_PROCESS_ENTER)
self.shir_vert = wx.TextCtrl(self.panel_1, wx.ID_ANY, "", style=wx.TE_PROCESS_ENTER)
self.radio_krest.SetValue(True)
self.shir_horiz.Bind(wx.EVT_TEXT_ENTER, self.proverka_vvoda)
self.shir_vert.Bind(wx.EVT_TEXT_ENTER, self.proverka_vvoda)
self.runPath = os.path.abspath(__file__)
print(self.runPath)
if platform.system() == "Windows":
self.delitel = "\\"
self.imgPath = self.runPath[:-17] + "img" + self.delitel
print(self.imgPath)
self.__set_properties()
self.__do_layout()
@@ -28,94 +55,102 @@ class SeconPageFrame(wx.Frame):
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.image = wx.Image(bitmap)
self.image = self.image.Scale(self.w, self.h, wx.IMAGE_QUALITY_HIGH)
self.result = wx.Bitmap(self.image)
return self.result
def __set_properties(self):
# begin wxGlade: SeconPageFrame.__set_properties
self.SetTitle("Расчет цикла светофорного регулирования")
self.color = controller.setBacgroundColor()
self.SetBackgroundColour(self.color)
self.btnColor = controller.setBckgroundButtonColor()
# self.btn2.SetBackgroundColour(self.btnColor)
def __do_layout(self):
# begin wxGlade: SeconPageFrame.__do_layout
sizer_1 = wx.BoxSizer(wx.VERTICAL)
sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.panel_1, wx.ID_ANY, "sizer_2"), wx.VERTICAL)
grid_sizer_2 = wx.FlexGridSizer(1, 6, 0, 0)
grid_sizer_3 = wx.GridSizer(0, 2, 0, 0)
grid_sizer_1 = wx.GridSizer(0, 4, 0, 0)
label_1 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Исходные данные для расчета")
label_1.SetFont(wx.Font(18, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
sizer_2.Add(label_1, 0, wx.ALIGN_CENTER | wx.ALL, 10)
print(self.runPath)
print(self.imgPath)
print(platform.system())
label_7 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория \n Горизональной улицы")
grid_sizer_1.Add(label_7, 0, wx.ALIGN_CENTER | wx.ALL, 10)
self.sizer_1 = wx.BoxSizer(wx.VERTICAL)
self.sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.panel_1, wx.ID_ANY, ""), wx.VERTICAL)
self.grid_sizer_2 = wx.FlexGridSizer(1, 6, 0, 0)
self.grid_sizer_3 = wx.GridSizer(0, 2, 0, 0)
self.grid_sizer_1 = wx.GridSizer(0, 4, 0, 0)
self.label_ish_dan = wx.StaticText(self.panel_1, wx.ID_ANY, u"Исходные данные для расчета")
self.label_ish_dan.SetFont(wx.Font(18, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.sizer_2.Add(self.label_ish_dan, 0, wx.ALIGN_CENTER | wx.ALL, 10)
self.label_kat_horiz = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория \n Горизональной улицы")
self.grid_sizer_1.Add(self.label_kat_horiz, 0, wx.ALIGN_CENTER | wx.ALL, 10)
self.katHorizont = wx.StaticText(self.panel_1, wx.ID_ANY, "", style=wx.ALIGN_CENTER)
grid_sizer_1.Add(self.katHorizont, 0, wx.ALIGN_CENTER, 0)
self.grid_sizer_1.Add(self.katHorizont, 0, wx.ALIGN_CENTER, 0)
label_9 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория \n Вертикальной улицы")
grid_sizer_1.Add(label_9, 0, wx.ALIGN_CENTER, 0)
self.label_kat_vert = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория \n Вертикальной улицы")
self.grid_sizer_1.Add(self.label_kat_vert, 0, wx.ALIGN_CENTER, 0)
self.katVertical = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_1.Add(self.katVertical, 0, wx.ALIGN_CENTER, 0)
self.katVertical = wx.StaticText(self.panel_1, wx.ID_ANY, "")
self.grid_sizer_1.Add(self.katVertical, 0, wx.ALIGN_CENTER, 0)
label_11 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос \n Горизонтальной улицы")
grid_sizer_1.Add(label_11, 0, wx.ALIGN_CENTER, 0)
self.label_11 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос \n Горизонтальной улицы")
self.grid_sizer_1.Add(self.label_11, 0, wx.ALIGN_CENTER, 0)
self.kolvoPolosHorizont = wx.StaticText(self.panel_1, wx.ID_ANY, "", style=wx.ALIGN_CENTER)
grid_sizer_1.Add(self.kolvoPolosHorizont, 0, wx.ALIGN_CENTER, 0)
self.grid_sizer_1.Add(self.kolvoPolosHorizont, 0, wx.ALIGN_CENTER, 0)
label_13 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос \n Вертикальной улицы")
grid_sizer_1.Add(label_13, 0, wx.ALIGN_CENTER, 0)
self.label_13 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос \n Вертикальной улицы")
self.grid_sizer_1.Add(self.label_13, 0, wx.ALIGN_CENTER, 0)
self.kolvoPolosVert = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_1.Add(self.kolvoPolosVert, 0, wx.ALIGN_CENTER, 0)
sizer_2.Add(grid_sizer_1, 1, wx.EXPAND, 0)
self.grid_sizer_1.Add(self.kolvoPolosVert, 0, wx.ALIGN_CENTER, 0)
self.sizer_2.Add(self.grid_sizer_1, 1, wx.EXPAND, 0)
label_18 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Выберите тип пересечения")
label_18.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
sizer_2.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)
self.label_18 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Выберите тип пересечения")
self.label_18.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.sizer_2.Add(self.label_18, 0, wx.ALL, 9)
self.grid_sizer_3.Add(self.radio_krest, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
self.grid_sizer_3.Add(self.radio_t_obr, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
self.bitmap_4 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100,100, wx.BITMAP_TYPE_ANY))
grid_sizer_3.Add(self.bitmap_4, 0, 0, 0)
self.bitmap_5 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY))
grid_sizer_3.Add(self.bitmap_5, 0, 0, 0)
sizer_2.Add(grid_sizer_3, 1, wx.EXPAND, 0)
label_15 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Необходимо расчитать:")
label_15.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
sizer_2.Add(label_15, 0, 0, 0)
label_16 = wx.StaticText(self.panel_1, 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.label_15 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Необходимо расчитать:")
self.label_15.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.sizer_2.Add(self.label_15, 0, 0, 0)
self.label_16 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Ширину проезжей части \n Горизонтальной улицы")
self.grid_sizer_2.Add(self.label_16, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, 0)
self.grid_sizer_2.Add(self.shir_horiz, 0, wx.ALIGN_CENTER, 0)
bitmap_2 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY))
bitmap_2.Hide()
grid_sizer_2.Add(bitmap_2, 0, 0, 0)
self.bitmap_2 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY))
self.bitmap_2.Hide()
self.grid_sizer_2.Add(self.bitmap_2, 0, 0, 0)
label_17 = wx.StaticText(self.panel_1, 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.label_17 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Ширину проезжей части \n Вертикальной улицы")
self.grid_sizer_2.Add(self.label_17, 0, 0, 0)
self.grid_sizer_2.Add(self.shir_vert, 0, wx.ALIGN_CENTER, 0)
bitmap_3 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY))
grid_sizer_2.Add(bitmap_3, 0, 0, 0)
sizer_2.Add(grid_sizer_2, 1, wx.EXPAND, 0)
self.bitmap_3 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY))
self.grid_sizer_2.Add(self.bitmap_3, 0, 0, 0)
self.sizer_2.Add(self.grid_sizer_2, 1, wx.EXPAND, 0)
self.panel_1.SetSizer(sizer_2)
sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
self.SetSizer(sizer_1)
self.button_1 = wx.Button(self.panel_1, wx.ID_ANY, "Далее")
self.sizer_2.Add(self.button_1, 0, wx.ALIGN_RIGHT, 0)
self.panel_1.SetSizer(self.sizer_2)
self.sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
self.SetSizer(self.sizer_1)
self.Layout()
def good(self):
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = self.imgPath + "123.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/bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 70, 50)
self.img1 = self.imgPath + "bad.jpg"
self.img3 = self.scale_bitmap(self.img1, 70, 50)
self.bitmap_3.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_3.Show()
self.Refresh()
@@ -132,15 +167,15 @@ class SeconPageFrame(wx.Frame):
print(self.pr_hor)
print(self.pr_Vert)
if len(self.text_ctrl_1.GetValue()) > 0:
if str(self.pr_hor) == self.text_ctrl_1.GetValue():
if len(self.shir_horiz.GetValue()) > 0:
if str(self.pr_hor) == self.shir_horiz.GetValue():
self.file = open("123", "w").close()
self.file = open("123", "w")
self.file.writelines(self.text_ctrl_1.GetValue() + "\n")
self.file.writelines(self.shir_horiz.GetValue() + "\n")
self.file.close()
print("good")
self.bitmap_2.Hide()
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = self.imgPath + "123.jpg"
self.img4 = self.scale_bitmap(self.img1, 50, 50)
self.bitmap_2.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_2.Show()
@@ -148,18 +183,18 @@ class SeconPageFrame(wx.Frame):
else:
print("bad")
self.bitmap_2.Hide()
self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 70, 50)
self.img1 = self.imgPath + "bad.jpg"
self.img3 = self.scale_bitmap(self.img1, 70, 50)
self.bitmap_2.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_2.Show()
self.text_ctrl_1.SetValue(str(self.pr_hor))
self.shir_horiz.SetValue(str(self.pr_hor))
self.Refresh()
if len(self.text_ctrl_2.GetValue()) > 0:
if str(self.pr_Vert) == self.text_ctrl_2.GetValue() and len(self.text_ctrl_2.GetValue()) > 0:
if len(self.shir_vert.GetValue()) > 0:
if str(self.pr_Vert) == self.shir_vert.GetValue() and len(self.shir_vert.GetValue()) > 0:
print("good")
self.bitmap_3.Hide()
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = self.imgPath + "123.jpg"
self.img4 = self.scale_bitmap(self.img1, 50, 50)
self.bitmap_3.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_3.Show()
@@ -167,18 +202,18 @@ class SeconPageFrame(wx.Frame):
else:
print("Bad")
self.bitmap_3.Hide()
self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 70, 50)
self.img1 = self.imgPath + "bad.jpg"
self.img3 = self.scale_bitmap(self.img1, 70, 50)
self.bitmap_3.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_3.Show()
self.text_ctrl_2.SetValue(str(self.pr_Vert))
self.shir_vert.SetValue(str(self.pr_Vert))
self.Refresh()
def proverka_radiobtn(self):
self.s = 1
print(self.radio_btn_2.GetValue())
print(self.radio_btn_3.GetValue())
if self.radio_btn_2.GetValue() == self.radio_btn_2.GetValue():
print(self.radio_krest.GetValue())
print(self.radio_t_obr.GetValue())
if self.radio_krest.GetValue() == self.radio_krest.GetValue():
self.error_radio_btn()
self.s = 0
return self.s
@@ -188,13 +223,15 @@ class SeconPageFrame(wx.Frame):
page3.Page3.OnInit(page3)
self.Destroy()
class SecondPage(wx.App):
def OnInit(self):
self.frame = SeconPageFrame(None, wx.ID_ANY, "")
self.frame = SecondPageFrame(None, wx.ID_ANY)
self.frame.Show()
self.frame.Center()
return True
# end of class SecondPage
if __name__ == "__main__":
SeconPage = SecondPage(0)

View File

@@ -119,7 +119,7 @@ class Page3Frame(wx.Frame):
grid_sizer_2.Add(self.label_26, (3, 2), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_1, (3, 3), (1, 1), 0, 0)
self.bitmap_1 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_1 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_1.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_1, (3, 4), (1, 1), 0, 0)
@@ -131,7 +131,7 @@ class Page3Frame(wx.Frame):
grid_sizer_2.Add(self.label_28, (4, 2), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_2, (4, 3), (1, 1), 0, 0)
self.bitmap_2 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_2 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_2.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_2, (4, 4), (1, 1), 0, 0)
@@ -143,7 +143,7 @@ class Page3Frame(wx.Frame):
grid_sizer_2.Add(self.label_32, (5, 2), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_3, (5, 3), (1, 1), 0, 0)
self.bitmap_3 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_3 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_3.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_3, (5, 4), (1, 1), 0, 0)
@@ -154,7 +154,7 @@ class Page3Frame(wx.Frame):
self.label_30 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.label_30, (6, 2), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_4, (6, 3), (1, 1), 0, 0)
self.bitmap_4 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_4 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_4.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_4, (6, 4), (1, 1), 0, 0)
@@ -165,7 +165,7 @@ class Page3Frame(wx.Frame):
self.label_34 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.label_34, (7, 2), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_5, (7, 3), (1, 1), 0, 0)
self.bitmap_5 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_5 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_5.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_5, (7, 4), (1, 1), 0, 0)
@@ -176,7 +176,7 @@ class Page3Frame(wx.Frame):
self.label_36 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.label_36, (8, 2), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_6, (8, 3), (1, 1), 0, 0)
self.bitmap_6 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_6 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_6.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_6, (8, 4), (1, 1), 0, 0)
@@ -187,7 +187,7 @@ class Page3Frame(wx.Frame):
self.label_38 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.label_38, (9, 2), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_7, (9, 3), (1, 1), 0, 0)
self.bitmap_7 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_7 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_7.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_7, (9, 4), (1, 1), 0, 0)
self.label_23 = wx.StaticText(self.panel_1, wx.ID_ANY, u"N2(\u043f\u0440\u044f\u043c\u043e) =")
@@ -197,7 +197,7 @@ class Page3Frame(wx.Frame):
self.label_40 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.label_40, (10, 2), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_8, (10, 3), (1, 1), 0, 0)
self.bitmap_8 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_8 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_8.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_8, (10, 4), (1, 1), 0, 0)
@@ -208,28 +208,28 @@ class Page3Frame(wx.Frame):
self.label_42 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.label_42, (11, 2), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_9, (11, 3), (1, 1), 0, 0)
self.bitmap_9 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_9 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_9.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_9, (11, 4), (1, 1), 0, 0)
self.label_100 = wx.StaticText(self.panel_1, wx.ID_ANY, "N31 =")
grid_sizer_2.Add(self.label_100, (12, 0), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_10, (12, 3), (1, 1), 0, 0)
self.bitmap_10 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_10 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_10.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_10, (12, 4), (1, 1), 0, 0)
self.label_101 = wx.StaticText(self.panel_1, wx.ID_ANY, "N32 =")
grid_sizer_2.Add(self.label_101, (13, 0), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_11, (13, 3), (1, 1), 0, 0)
self.bitmap_11 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_11 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_11.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_11, (13, 4), (1, 1), 0, 0)
self.label_102 = wx.StaticText(self.panel_1, wx.ID_ANY, "N3 прямо =")
grid_sizer_2.Add(self.label_102, (14, 0), (1, 1), 0, 0)
grid_sizer_2.Add(self.text_ctrl_12, (14, 3), (1, 1), 0, 0)
self.bitmap_12 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_12 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("../img/bad.jpg", wx.BITMAP_TYPE_ANY))
self.bitmap_12.SetMinSize((35, 35))
grid_sizer_2.Add(self.bitmap_12, (14, 4), (1, 1), 0, 0)
@@ -357,7 +357,7 @@ class Page3Frame(wx.Frame):
if self.text_ctrl_1.GetValue() == str(self.data[0][1]):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_1.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_1.Show()
@@ -365,7 +365,7 @@ class Page3Frame(wx.Frame):
else:
print("bad")
self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/bad.jpg"
self.img2 = ""
self.img3 = self.scale_bitmap(self.img2, 25, 25)
self.bitmap_1.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_1.Show()
@@ -378,7 +378,7 @@ class Page3Frame(wx.Frame):
if self.text_ctrl_2.GetValue() == str(self.data[1][1]):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_2.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_2.Show()
@@ -386,7 +386,7 @@ class Page3Frame(wx.Frame):
else:
print("bad")
self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/bad.jpg"
self.img2 = "../img/bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 25, 25)
self.bitmap_2.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_2.Show()
@@ -399,7 +399,7 @@ class Page3Frame(wx.Frame):
if self.text_ctrl_3.GetValue() == str(self.data[2][1]):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_3.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_3.Show()
@@ -407,7 +407,7 @@ class Page3Frame(wx.Frame):
else:
print("bad")
self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/bad.jpg"
self.img2 = "../img/bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 25, 25)
self.bitmap_3.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_3.Show()
@@ -428,7 +428,7 @@ class Page3Frame(wx.Frame):
print("good")
print( str(float(self.data[0][1]) - float(self.data[1][1]) - float(self.data[2][1])))
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_4.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_4.Show()
@@ -436,7 +436,8 @@ class Page3Frame(wx.Frame):
else:
print("bad")
self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/bad.jpg"
self.img2 = "../img/bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 25, 25)
self.bitmap_4.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_4.Show()
@@ -451,7 +452,7 @@ class Page3Frame(wx.Frame):
if self.text_ctrl_5.GetValue() == str(self.data[4][1]):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/123.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_5.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_5.Show()
@@ -459,7 +460,7 @@ class Page3Frame(wx.Frame):
else:
print("bad")
self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/bad.jpg"
self.img2 = "../img/bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 25, 25)
self.bitmap_5.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_5.Show()
@@ -472,15 +473,15 @@ class Page3Frame(wx.Frame):
if self.text_ctrl_6.GetValue() == str(self.data[5][1]):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_6.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_6.Show()
self.bitmap_6.Hide()
self.Refresh()
else:
print("bad")
self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/bad.jpg"
self.img2 = "../img/bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 25, 25)
self.bitmap_6.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_6.Show()
@@ -493,7 +494,7 @@ class Page3Frame(wx.Frame):
if self.text_ctrl_7.GetValue() == str(self.data[6][1]):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_7.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_7.Show()
@@ -501,7 +502,7 @@ class Page3Frame(wx.Frame):
else:
print("bad")
self.img2 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/bad.jpg"
self.img2 = "../img/bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 25, 25)
self.bitmap_7.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_7.Show()
@@ -517,7 +518,7 @@ class Page3Frame(wx.Frame):
if self.text_ctrl_8.GetValue() == str(self.s1):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_8.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_8.Show()
@@ -539,7 +540,7 @@ class Page3Frame(wx.Frame):
if self.text_ctrl_9.GetValue() == str(self.data[8][1]):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_9.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_9.Show()
@@ -559,7 +560,7 @@ class Page3Frame(wx.Frame):
if len(self.text_ctrl_10.GetValue()) > 0:
if self.text_ctrl_10.GetValue() == str(self.data[9][1]):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_10.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_10.Show()
@@ -579,7 +580,7 @@ class Page3Frame(wx.Frame):
if len(self.text_ctrl_11.GetValue()) > 0:
if self.text_ctrl_11.GetValue() == str(self.data[10][1]):
print("good")
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_11.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_11.Show()
@@ -601,7 +602,7 @@ class Page3Frame(wx.Frame):
if self.text_ctrl_1.GetValue() == str(self.s1):
print("good")
self.bitmap_1.Hide()
self.img1 = "/Users/danamir/PycharmProjects/odd-perekrestok/img/123.jpg"
self.img1 = "../img/bad.jpg"
self.img4 = self.scale_bitmap(self.img1, 20, 20)
self.bitmap_2.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_2.Show()
@@ -617,9 +618,11 @@ class Page3Frame(wx.Frame):
self.text_ctrl_1.SetValue(str(self.s1))
self.Refresh()
def gopage4(self, event):
from gui import page4
page4.MyApp.OnInit(page4)
self.Destroy()
#from gui import page4
#page4.MyApp.OnInit(page4)
#self.Destroy()
pass
class Page3(wx.App):

BIN
img/bad.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

2
logger.py Normal file
View File

@@ -0,0 +1,2 @@

266
main.py
View File

@@ -1,138 +1,166 @@
# -*- coding: UTF-8 -*-
import wx
import controller
from db.models import Student
from sqlalchemy import exists
from db.models import Session
from gui import SecondPage
import logging
import platform
import os
#\ - винда | - другие ос
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.panel_1 = wx.Panel(self, wx.ID_ANY)
self.inpt_name = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
self.inpt_familia = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
self.inpt_group = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
self.inpt_zachetka = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
self.btn2 = wx.Button(self.panel_1, wx.ID_ANY, u"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438")
self.button_1 = wx.Button(self.panel_1, wx.ID_ANY, u"\u0414\u0430\u043b\u0435\u0435")
def __init__(self, *args, **kwds):
self.__set_properties()
self.__do_layout()
# end wxGlade
logging.basicConfig(filename="app.log",
filemode='a',
format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s',
datefmt='%H:%M:%S',
level=logging.DEBUG)
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("Расчет цикла свеетофорного регулирования: Приветственая")
self.inpt_name.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
self.inpt_familia.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
self.inpt_zachetka.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
self.btn2.SetMinSize((100, 50))
self.button_1.SetMinSize((100, 50))
self.frameSize = controller.setSize()
self.SetSize(self.frameSize)
self.SetMinSize((800, 600))
self.color = controller.setBacgroundColor()
self.panel_1.SetBackgroundColour(self.color)
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_1 = wx.BoxSizer(wx.VERTICAL)
sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.panel_1, wx.ID_ANY, ""), wx.VERTICAL)
grid_sizer_2 = wx.GridSizer(0, 2, 0, 0)
grid_sizer_1 = wx.GridSizer(0, 2, 0, 0)
label_1 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u041a\u0430\u0444\u0435\u0434\u0440\u0430 \"\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f\"")
label_1.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
sizer_2.Add(label_1, 0, wx.ALIGN_CENTER | wx.BOTTOM | wx.LEFT | wx.RIGHT, 20)
label_2 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0420\u0430\u0441\u0447\u0435\u0442 \u0446\u0438\u043a\u043b\u0430 \u0441\u0432\u0435\u0442\u043e\u0444\u043e\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u043a\u0435")
label_2.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
sizer_2.Add(label_2, 0, wx.ALIGN_CENTER, 0)
label_3 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435\u0441\u044c")
label_3.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
sizer_2.Add(label_3, 0, wx.ALL, 5)
label_4 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0418\u043c\u044f")
label_4.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
grid_sizer_1.Add(label_4, 0, wx.ALIGN_CENTER, 0)
grid_sizer_1.Add(self.inpt_name, 0, wx.ALIGN_CENTER, 0)
inpt_familia1 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0424\u0430\u043c\u0438\u043b\u0438\u044f")
inpt_familia1.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
grid_sizer_1.Add(inpt_familia1, 0, wx.ALIGN_CENTER, 0)
grid_sizer_1.Add(self.inpt_familia, 0, wx.ALIGN_CENTER, 0)
label_5 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0413\u0440\u0443\u043f\u043f\u0430")
label_5.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
grid_sizer_1.Add(label_5, 0, wx.ALIGN_CENTER, 0)
grid_sizer_1.Add(self.inpt_group, 0, wx.ALIGN_CENTER, 0)
label_6 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u2116 \u0417\u0430\u0447\u0435\u0442\u043d\u043e\u0439 \u043a\u043d\u0438\u0436\u043a\u0438")
label_6.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
grid_sizer_1.Add(label_6, 0, wx.ALIGN_CENTER, 0)
grid_sizer_1.Add(self.inpt_zachetka, 0, wx.ALIGN_CENTER, 0)
sizer_2.Add(grid_sizer_1, 1, wx.EXPAND, 0)
grid_sizer_2.Add(self.btn2, 0, wx.ALIGN_BOTTOM, 0)
grid_sizer_2.Add(self.button_1, 0, wx.ALIGN_BOTTOM | wx.ALIGN_RIGHT, 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)
self.SetSizer(sizer_1)
self.Layout()
# end wxGlade
def empty_pole(self):
dlg = wx.MessageDialog(self, 'Не все поля заполнены. Заполните все поля перед продолжением', 'Ошибка', wx.OK)
val = dlg.ShowModal()
if val == wx.ID_OK:
dlg.Destroy()
def go_page2(self, event):
name = self.inpt_name.GetValue()
name = name.replace(' ', '')
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
fio = str(familia).lower() + ' ' + str(name).lower()
new_session = Session()
if new_session.query(exists().where(Student.fname == fio).
where(Student.group == group).where(Student.zach_number == zach_number)).scalar():
print("ЗАГРУЖАЮ ВАШЕ ЗАДАНИЕ")
else:
print("пора занести вас в базу и придумать для вас задание")
student = Student(fname=fio, group=group, zach_number=zach_number)
new_session.add(student)
new_session.commit()
logging.info("main page runing")
self.frame.Destroy()
SecondPage.SecondPage.OnInit(SecondPage)
# begin wxGlade: MyFrame.__init__
kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.panel_1 = wx.Panel(self, wx.ID_ANY)
self.inpt_name = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
self.inpt_familia = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
self.inpt_group = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
self.inpt_zachetka = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
self.btn_settings = wx.Button(self.panel_1, wx.ID_ANY, u"Настройки")
self.btn_next = wx.Button(self.panel_1, wx.ID_ANY, u"\u0414\u0430\u043b\u0435\u0435")
self.btn_settings.Bind(wx.EVT_BUTTON, self.setup)
self.btn_next.Bind(wx.EVT_BUTTON, self.go_page2)
self.__set_properties()
self.__do_layout()
# end wxGlade
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("Расчет цикла свеетофорного регулирования: Приветственая")
self.inpt_name.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
self.inpt_familia.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
self.inpt_zachetka.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
self.btn_settings.SetMinSize((100, 50))
self.btn_next.SetMinSize((100, 50))
#self.frameSize = controller.setSize()
#elf.SetSize(self.frameSize)
self.SetMinSize((800, 600))
self.color = controller.setBacgroundColor()
self.panel_1.SetBackgroundColour(self.color)
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_1 = wx.BoxSizer(wx.VERTICAL)
sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.panel_1, wx.ID_ANY, ""), wx.VERTICAL)
grid_sizer_2 = wx.GridSizer(0, 2, 0, 0)
grid_sizer_1 = wx.GridSizer(0, 2, 0, 0)
label_1 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u041a\u0430\u0444\u0435\u0434\u0440\u0430 \"\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f\"")
label_1.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
sizer_2.Add(label_1, 0, wx.ALIGN_CENTER | wx.BOTTOM | wx.LEFT | wx.RIGHT, 20)
label_2 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0420\u0430\u0441\u0447\u0435\u0442 \u0446\u0438\u043a\u043b\u0430 \u0441\u0432\u0435\u0442\u043e\u0444\u043e\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u043a\u0435")
label_2.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
sizer_2.Add(label_2, 0, wx.ALIGN_CENTER, 0)
label_3 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435\u0441\u044c")
label_3.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
sizer_2.Add(label_3, 0, wx.ALL, 5)
label_4 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0418\u043c\u044f")
label_4.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
grid_sizer_1.Add(label_4, 0, wx.ALIGN_CENTER, 0)
grid_sizer_1.Add(self.inpt_name, 0, wx.ALIGN_CENTER, 0)
inpt_familia1 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0424\u0430\u043c\u0438\u043b\u0438\u044f")
inpt_familia1.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
grid_sizer_1.Add(inpt_familia1, 0, wx.ALIGN_CENTER, 0)
grid_sizer_1.Add(self.inpt_familia, 0, wx.ALIGN_CENTER, 0)
label_5 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u0413\u0440\u0443\u043f\u043f\u0430")
label_5.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
grid_sizer_1.Add(label_5, 0, wx.ALIGN_CENTER, 0)
grid_sizer_1.Add(self.inpt_group, 0, wx.ALIGN_CENTER, 0)
label_6 = wx.StaticText(self.panel_1, wx.ID_ANY, u"\u2116 \u0417\u0430\u0447\u0435\u0442\u043d\u043e\u0439 \u043a\u043d\u0438\u0436\u043a\u0438")
label_6.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
grid_sizer_1.Add(label_6, 0, wx.ALIGN_CENTER, 0)
grid_sizer_1.Add(self.inpt_zachetka, 0, wx.ALIGN_CENTER, 0)
sizer_2.Add(grid_sizer_1, 1, wx.EXPAND, 0)
grid_sizer_2.Add(self.btn_settings, 0, wx.ALIGN_BOTTOM, 0)
grid_sizer_2.Add(self.btn_next, 0, wx.ALIGN_BOTTOM | wx.ALIGN_RIGHT, 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)
self.SetSizer(sizer_1)
self.Layout()
# end wxGlade
def empty_pole(self):
dlg = wx.MessageDialog(self, 'Не все поля заполнены. Заполните все поля перед продолжением', 'Ошибка', wx.OK)
val = dlg.ShowModal()
if val == wx.ID_OK:
dlg.Destroy()
def go_page2(self, event):
name = self.inpt_name.GetValue()
name = name.replace(' ', '')
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
fio = str(familia).lower() + ' ' + str(name).lower()
new_session = Session()
if new_session.query(exists().where(Student.fname == fio).
where(Student.group == group).where(Student.zach_number == zach_number)).scalar():
print("ЗАГРУЖАЮ ВАШЕ ЗАДАНИЕ")
else:
print("пора занести вас в базу и придумать для вас задание")
student = Student(fname=fio, group=group, zach_number=zach_number)
new_session.add(student)
new_session.commit()
from gui import SecondPage
SecondPage.SecondPage.OnInit(SecondPage)
self.Destroy()
# todo Перенести весь функционал из main.py
# todo Подключить логирование
# todo Настроить относительные пути к ресурсам
# todo настроить размеры окна
def setup(self):
print("Setup pressed")
# todo Перенести весь функционал из main.py
class MyApp(wx.App):
def OnInit(self):
self.frame = MyFrame(None, wx.ID_ANY, "")
self.frame.Center()
self.frame.Show()
return True
def OnInit(self):
self.frame = MyFrame(None, wx.ID_ANY, "")
self.frame.Center()
self.frame.Show()
return True
# end of class MyApp
if __name__ == "__main__":
app = MyApp(0)
app.MainLoop()
app = MyApp(0)
app.MainLoop()

12
run.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
# what real Python executable to use
PYVER=3.7
PYTHON=/Library/Frameworks/Python.framework/Versions/$PYVER/bin/python$PYVER
# find the root of the virtualenv, it should be the parent of the dir this script is in
ENV=`$PYTHON -c "import os; print os.path.abspath(os.path.join(os.path.dirname(\"$0\"), '..'))"`
# now run Python with the virtualenv set as Python's HOME
export PYTHONHOME=$ENV
exec $PYTHON "$@"

227
src/page1.wxg Normal file
View File

@@ -0,0 +1,227 @@
<?xml version="1.0"?>
<!-- generated by wxGlade 0.8.3 on Sun Dec 9 19:34:37 2018 -->
<application class="MyApp" encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="space" is_template="0" language="python" name="app" option="0" overwrite="1" path="C:\Users\danamir\PycharmProjects\odd-perekrestok\src\page1.py" source_extension=".cpp" top_window="frame" use_gettext="0" use_new_namespace="1">
<object class="MyFrame" name="frame" base="EditFrame">
<size>800, 600</size>
<title>frame</title>
<style>wxDEFAULT_FRAME_STYLE</style>
<object class="wxBoxSizer" name="sizer_1" base="EditBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxPanel" name="panel_1" base="EditPanel">
<object class="wxStaticBoxSizer" name="sizer_2" base="EditStaticBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<option>0</option>
<border>20</border>
<flag>wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_1" base="EditStaticText">
<font>
<size>14</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Кафедра "Организация и безопасность движения"</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_2" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Расчет цикла светофорного регулирования на перекрестке</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>5</border>
<flag>wxALL</flag>
<object class="wxStaticText" name="label_3" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Представьтесь</label>
</object>
</object>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxGridSizer" name="grid_sizer_1" base="EditGridSizer">
<rows>0</rows>
<cols>2</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_4" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Имя</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="inpt_name" base="EditTextCtrl">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="inpt_familia1" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Фамилия</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="inpt_familia" base="EditTextCtrl">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_5" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Группа</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="inpt_group" base="EditTextCtrl">
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_6" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>№ Зачетной книжки</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="inpt_zachetka" base="EditTextCtrl">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxGridSizer" name="grid_sizer_2" base="EditGridSizer">
<rows>0</rows>
<cols>2</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_BOTTOM</flag>
<object class="wxButton" name="btn2" base="EditButton">
<size>100, 50</size>
<label>Настройки</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_RIGHT|wxALIGN_BOTTOM</flag>
<object class="wxButton" name="button_1" base="EditButton">
<size>100, 50</size>
<label>Далее</label>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</application>

226
src/page1.wxg.bak Normal file
View File

@@ -0,0 +1,226 @@
<?xml version="1.0"?>
<!-- generated by wxGlade 0.8.3 on Sun Dec 9 19:30:41 2018 -->
<application class="MyApp" encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="space" is_template="0" language="python" name="app" option="0" overwrite="1" path="C:\Users\danamir\PycharmProjects\odd-perekrestok\src\page1.py" source_extension=".cpp" top_window="frame" use_gettext="0" use_new_namespace="1">
<object class="MyFrame" name="frame" base="EditFrame">
<size>1200, 600</size>
<title>frame</title>
<style>wxDEFAULT_FRAME_STYLE</style>
<object class="wxBoxSizer" name="sizer_1" base="EditBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxPanel" name="panel_1" base="EditPanel">
<object class="wxStaticBoxSizer" name="sizer_2" base="EditStaticBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<option>0</option>
<border>20</border>
<flag>wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_1" base="EditStaticText">
<font>
<size>14</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Кафедра "Организация и безопасность движения"</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_2" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Расчет цикла светофорного регулирования на перекрестке</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="wxStaticText" name="label_3" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Представьтесь</label>
</object>
</object>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxGridSizer" name="grid_sizer_1" base="EditGridSizer">
<rows>0</rows>
<cols>2</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_4" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Имя</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="inpt_name" base="EditTextCtrl">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="inpt_familia1" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Фамилия</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="inpt_familia" base="EditTextCtrl">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_5" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>Группа</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="inpt_group" base="EditTextCtrl">
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_6" base="EditStaticText">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
<label>№ Зачетной книжки</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="inpt_zachetka" base="EditTextCtrl">
<font>
<size>12</size>
<family>default</family>
<style>normal</style>
<weight>normal</weight>
<underlined>0</underlined>
<face />
</font>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxGridSizer" name="grid_sizer_2" base="EditGridSizer">
<rows>0</rows>
<cols>2</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_BOTTOM</flag>
<object class="wxButton" name="btn2" base="EditButton">
<size>100, 50</size>
<label>Настройки</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_RIGHT|wxALIGN_BOTTOM</flag>
<object class="wxButton" name="button_1" base="EditButton">
<size>100, 50</size>
<label>Далее</label>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</application>

View File

@@ -1,221 +0,0 @@
#!/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/123.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/123.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/123.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/123.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/123.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/123.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/123.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/123.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/123.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()

130
src/second_page.py Normal file
View File

@@ -0,0 +1,130 @@
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
#
# generated by wxGlade 1.1.0pre on Sun Jun 6 15:00:40 2021
#
import wx
# begin wxGlade: dependencies
# end wxGlade
# begin wxGlade: extracode
# end wxGlade
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((800, 780))
self.SetTitle("frame")
sizer_1 = wx.BoxSizer(wx.VERTICAL)
self.panel_1 = wx.Panel(self, wx.ID_ANY)
sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.panel_1, wx.ID_ANY, "sizer_2"), wx.VERTICAL)
label_1 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Исходные данные для расчета\n")
label_1.SetFont(wx.Font(18, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, 0, ""))
sizer_2.Add(label_1, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 0)
grid_sizer_1 = wx.GridSizer(0, 4, 0, 0)
sizer_2.Add(grid_sizer_1, 1, wx.EXPAND, 0)
label_7 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория\nГоризональной улицы")
grid_sizer_1.Add(label_7, 0, wx.ALIGN_CENTER | wx.ALL, 10)
label_8 = wx.StaticText(self.panel_1, wx.ID_ANY, "", style=wx.ALIGN_CENTER_HORIZONTAL)
grid_sizer_1.Add(label_8, 0, wx.ALIGN_CENTER, 0)
label_9 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория \nВертикальной улицы")
grid_sizer_1.Add(label_9, 0, wx.ALIGN_CENTER, 0)
label_10 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_1.Add(label_10, 0, wx.ALIGN_CENTER, 0)
label_11 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос\nГоризонтальной улицы")
grid_sizer_1.Add(label_11, 0, wx.ALIGN_CENTER, 0)
label_12 = wx.StaticText(self.panel_1, wx.ID_ANY, "", style=wx.ALIGN_CENTER_HORIZONTAL)
grid_sizer_1.Add(label_12, 0, wx.ALIGN_CENTER, 0)
label_13 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос \nВертикальной улицы")
grid_sizer_1.Add(label_13, 0, wx.ALIGN_CENTER, 0)
label_14 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_1.Add(label_14, 0, wx.ALIGN_CENTER, 0)
label_18 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Выберите тип пересечения")
label_18.SetFont(wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, 0, ""))
sizer_2.Add(label_18, 0, wx.ALL, 9)
grid_sizer_3 = wx.GridSizer(0, 2, 0, 0)
sizer_2.Add(grid_sizer_3, 1, wx.EXPAND, 0)
self.radio_btn_2 = wx.RadioButton(self.panel_1, wx.ID_ANY, u"Крестооборазный\n")
grid_sizer_3.Add(self.radio_btn_2, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
self.radio_btn_3 = wx.RadioButton(self.panel_1, wx.ID_ANY, u"Т-образный")
grid_sizer_3.Add(self.radio_btn_3, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
bitmap_4 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("D:\\Programming\\PythonProjects\\odd-perekrestok\\img\\perekr4.jpg", wx.BITMAP_TYPE_ANY), style=wx.BORDER_NONE)
grid_sizer_3.Add(bitmap_4, 0, wx.ALIGN_CENTER, 0)
bitmap_5 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("D:\\Programming\\PythonProjects\\odd-perekrestok\\img\\perekr-t.jpg", wx.BITMAP_TYPE_ANY), style=wx.BORDER_NONE)
grid_sizer_3.Add(bitmap_5, 0, wx.ALIGN_CENTER, 0)
label_15 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Необходимо расчитать:")
label_15.SetFont(wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, 0, ""))
sizer_2.Add(label_15, 0, wx.ALL, 0)
grid_sizer_2 = wx.FlexGridSizer(1, 9, 0, 0)
sizer_2.Add(grid_sizer_2, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 0)
label_16 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Ширину проезжей части\nГоризонтальной улицы")
grid_sizer_2.Add(label_16, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, 0)
self.text_ctrl_1 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.text_ctrl_1, 0, wx.ALIGN_CENTER, 0)
bitmap_2 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("D:\\Programming\\PythonProjects\\odd-perekrestok\\img\\123.jpg", wx.BITMAP_TYPE_ANY))
bitmap_2.Hide()
grid_sizer_2.Add(bitmap_2, 0, 0, 0)
label_17 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Ширину проезжей части\nВертикальной улицы")
grid_sizer_2.Add(label_17, 0, 0, 0)
self.text_ctrl_2 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.text_ctrl_2, 0, wx.ALIGN_CENTER, 0)
bitmap_3 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("D:\\Programming\\PythonProjects\\odd-perekrestok\\img\\123.jpg", wx.BITMAP_TYPE_ANY))
grid_sizer_2.Add(bitmap_3, 0, 0, 0)
self.button_1 = wx.Button(self.panel_1, wx.ID_ANY, "button_1")
sizer_2.Add(self.button_1, 0, wx.ALIGN_RIGHT, 0)
self.panel_1.SetSizer(sizer_2)
self.SetSizer(sizer_1)
self.Layout()
# end wxGlade
# end of class SeconPageFrame
class SecondPage(wx.App):
def OnInit(self):
self.frame = SeconPageFrame(None, wx.ID_ANY, "")
self.SetTopWindow(self.frame)
self.frame.Show()
return True
# end of class SecondPage
if __name__ == "__main__":
SeconPage = SecondPage(0)
SeconPage.MainLoop()

134
src/second_page.py.bak Normal file
View File

@@ -0,0 +1,134 @@
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
#
# generated by wxGlade 1.1.0pre on Sun Jun 6 15:00:40 2021
#
import wx
# begin wxGlade: dependencies
# end wxGlade
# begin wxGlade: extracode
# end wxGlade
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((800, 780))
self.SetTitle("frame")
sizer_1 = wx.BoxSizer(wx.VERTICAL)
self.panel_1 = wx.Panel(self, wx.ID_ANY)
sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.panel_1, wx.ID_ANY, "sizer_2"), wx.VERTICAL)
label_1 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Исходные данные для расчета\n")
label_1.SetFont(wx.Font(18, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, 0, ""))
sizer_2.Add(label_1, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 0)
grid_sizer_1 = wx.GridSizer(0, 4, 0, 0)
sizer_2.Add(grid_sizer_1, 1, wx.EXPAND, 0)
label_7 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория\nГоризональной улицы")
grid_sizer_1.Add(label_7, 0, wx.ALIGN_CENTER | wx.ALL, 10)
label_8 = wx.StaticText(self.panel_1, wx.ID_ANY, "", style=wx.ALIGN_CENTER_HORIZONTAL)
grid_sizer_1.Add(label_8, 0, wx.ALIGN_CENTER, 0)
label_9 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория \nВертикальной улицы")
grid_sizer_1.Add(label_9, 0, wx.ALIGN_CENTER, 0)
label_10 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_1.Add(label_10, 0, wx.ALIGN_CENTER, 0)
label_11 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос\nГоризонтальной улицы")
grid_sizer_1.Add(label_11, 0, wx.ALIGN_CENTER, 0)
label_12 = wx.StaticText(self.panel_1, wx.ID_ANY, "", style=wx.ALIGN_CENTER_HORIZONTAL)
grid_sizer_1.Add(label_12, 0, wx.ALIGN_CENTER, 0)
label_13 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос \nВертикальной улицы")
grid_sizer_1.Add(label_13, 0, wx.ALIGN_CENTER, 0)
label_14 = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_1.Add(label_14, 0, wx.ALIGN_CENTER, 0)
label_18 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Выберите тип пересечения")
label_18.SetFont(wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, 0, ""))
sizer_2.Add(label_18, 0, wx.ALL, 9)
grid_sizer_3 = wx.GridSizer(0, 2, 0, 0)
sizer_2.Add(grid_sizer_3, 1, wx.EXPAND, 0)
self.radio_btn_2 = wx.RadioButton(self.panel_1, wx.ID_ANY, u"Крестооборазный\n")
grid_sizer_3.Add(self.radio_btn_2, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
self.radio_btn_3 = wx.RadioButton(self.panel_1, wx.ID_ANY, u"Т-образный")
grid_sizer_3.Add(self.radio_btn_3, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
bitmap_4 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("D:\\Programming\\PythonProjects\\odd-perekrestok\\img\\perekr4.jpg", wx.BITMAP_TYPE_ANY), style=wx.BORDER_NONE)
grid_sizer_3.Add(bitmap_4, 0, wx.ALIGN_CENTER, 0)
bitmap_5 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap("D:\\Programming\\PythonProjects\\odd-perekrestok\\img\\perekr-t.png", wx.BITMAP_TYPE_ANY), style=wx.BORDER_NONE)
grid_sizer_3.Add(bitmap_5, 0, wx.ALIGN_CENTER, 0)
label_15 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Необходимо расчитать:")
label_15.SetFont(wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, 0, ""))
sizer_2.Add(label_15, 0, wx.ALL, 0)
grid_sizer_2 = wx.FlexGridSizer(1, 9, 0, 0)
sizer_2.Add(grid_sizer_2, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 0)
label_16 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Ширину проезжей части\nГоризонтальной улицы")
grid_sizer_2.Add(label_16, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, 0)
self.text_ctrl_1 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.text_ctrl_1, 0, wx.ALIGN_CENTER, 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.Hide()
grid_sizer_2.Add(bitmap_2, 0, 0, 0)
grid_sizer_2.Add((20, 20), 0, 0, 0)
label_17 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Ширину проезжей части\nВертикальной улицы")
grid_sizer_2.Add(label_17, 0, 0, 0)
self.text_ctrl_2 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
grid_sizer_2.Add(self.text_ctrl_2, 0, wx.ALIGN_CENTER, 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))
grid_sizer_2.Add(bitmap_3, 0, 0, 0)
grid_sizer_2.Add((20, 20), 0, 0, 0)
self.button_1 = wx.Button(self.panel_1, wx.ID_ANY, "button_1")
sizer_2.Add(self.button_1, 0, wx.ALIGN_RIGHT, 0)
self.panel_1.SetSizer(sizer_2)
self.SetSizer(sizer_1)
self.Layout()
# end wxGlade
# end of class SeconPageFrame
class SecondPage(wx.App):
def OnInit(self):
self.frame = SeconPageFrame(None, wx.ID_ANY, "")
self.SetTopWindow(self.frame)
self.frame.Show()
return True
# end of class SecondPage
if __name__ == "__main__":
SeconPage = SecondPage(0)
SeconPage.MainLoop()

View File

@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!-- generated by wxGlade 0.8.3 on Thu Nov 22 08:41:45 2018 -->
<!-- generated by wxGlade 1.1.0pre on Sun Jun 6 14:51:32 2021 -->
<application class="SecondPage" encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="tab" is_template="0" language="python" name="SeconPage" option="0" overwrite="0" path="/Users/danamir/PycharmProjects/odd-perekrestok/gui/SecondPage.py" source_extension=".cpp" top_window="frame" use_gettext="0" use_new_namespace="1">
<application class="SecondPage" encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="tab" is_template="0" language="python" mark_blocks="1" name="SeconPage" option="0" overwrite="0" path="/Users/danamir/PycharmProjects/odd-perekrestok/gui/SecondPage.py" source_extension=".cpp" top_window="frame" use_gettext="0" use_new_namespace="1">
<object class="SeconPageFrame" name="frame" base="EditFrame">
<size>658, 331</size>
<title>frame</title>
@@ -46,7 +46,7 @@
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_8" base="EditStaticText">
<style>wxALIGN_CENTER</style>
<style>wxALIGN_CENTER_HORIZONTAL</style>
</object>
</object>
<object class="sizeritem">
@@ -77,7 +77,7 @@
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_12" base="EditStaticText">
<style>wxALIGN_CENTER</style>
<style>wxALIGN_CENTER_HORIZONTAL</style>
</object>
</object>
<object class="sizeritem">
@@ -167,6 +167,17 @@
</object>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_RIGHT</flag>
<object class="wxButton" name="btn_next" base="EditButton">
<events>
<handler event="EVT_BUTTON">go_page3</handler>
</events>
<label>Далее</label>
</object>
</object>
</object>
</object>
</application>

172
src/second_page.wxg.bak Normal file
View File

@@ -0,0 +1,172 @@
<?xml version="1.0"?>
<!-- generated by wxGlade 0.8.3 on Thu Nov 22 08:41:45 2018 -->
<application class="SecondPage" encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="tab" is_template="0" language="python" name="SeconPage" option="0" overwrite="0" path="/Users/danamir/PycharmProjects/odd-perekrestok/gui/SecondPage.py" source_extension=".cpp" top_window="frame" use_gettext="0" use_new_namespace="1">
<object class="SeconPageFrame" name="frame" base="EditFrame">
<size>658, 331</size>
<title>frame</title>
<style>wxDEFAULT_FRAME_STYLE</style>
<object class="wxBoxSizer" name="sizer_1" base="EditBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER_HORIZONTAL</flag>
<object class="wxStaticText" name="label_6" base="EditStaticText">
<font>
<size>16</size>
<family>default</family>
<style>normal</style>
<weight>bold</weight>
<underlined>0</underlined>
<face />
</font>
<label>Исходные данные для расчета</label>
</object>
</object>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxGridSizer" name="grid_sizer_1" base="EditGridSizer">
<rows>0</rows>
<cols>4</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_7" base="EditStaticText">
<label>Категория\nГоризональной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_8" base="EditStaticText">
<style>wxALIGN_CENTER</style>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_9" base="EditStaticText">
<label>Категория \nВертикальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_10" base="EditStaticText">
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_11" base="EditStaticText">
<label>Количество полос\nГоризонтальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_12" base="EditStaticText">
<style>wxALIGN_CENTER</style>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_13" base="EditStaticText">
<label>Количество полос \nВертикальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_14" base="EditStaticText">
</object>
</object>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="wxStaticText" name="label_15" base="EditStaticText">
<font>
<size>14</size>
<family>default</family>
<style>normal</style>
<weight>bold</weight>
<underlined>0</underlined>
<face />
</font>
<label>Необходимо расчитать:</label>
</object>
</object>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxGridSizer" name="grid_sizer_2" base="EditGridSizer">
<rows>0</rows>
<cols>3</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL</flag>
<object class="wxStaticText" name="label_16" base="EditStaticText">
<label>Ширину проезжей части\nГоризонтальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="text_ctrl_1" base="EditTextCtrl">
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="wxStaticBitmap" name="bitmap_2" base="EditStaticBitmap">
<hidden>1</hidden>
<bitmap>/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg</bitmap>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="wxStaticText" name="label_17" base="EditStaticText">
<label>Ширину проезжей части\nВертикальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="text_ctrl_2" base="EditTextCtrl">
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="wxStaticBitmap" name="bitmap_3" base="EditStaticBitmap">
<bitmap>/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg</bitmap>
</object>
</object>
</object>
</object>
</object>
</object>
</application>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0"?>
<!-- generated by wxGlade 0.8.3 on Sun Dec 9 18:39:08 2018 -->
<!-- generated by wxGlade 1.1.0pre on Sat Jun 12 23:34:42 2021 -->
<application class="SecondPage" encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="tab" is_template="0" language="python" name="SeconPage" option="0" overwrite="0" path="/Users/danamir/PycharmProjects/odd-perekrestok/gui/SecondPage12.py" source_extension=".cpp" top_window="frame" use_gettext="0" use_new_namespace="1">
<application class="SecondPage" encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="tab" is_template="0" language="python" mark_blocks="1" name="SeconPage" option="0" overwrite="0" path="D:\Programming\PythonProjects\odd-perekrestok\src\second_page.py" source_extension=".cpp" top_window="frame" use_gettext="0" use_new_namespace="1">
<object class="SeconPageFrame" name="frame" base="EditFrame">
<size>658, 331</size>
<size>800, 780</size>
<title>frame</title>
<style>wxDEFAULT_FRAME_STYLE</style>
<object class="wxBoxSizer" name="sizer_1" base="EditBoxSizer">
@@ -18,8 +18,8 @@
<label>sizer_2</label>
<object class="sizeritem">
<option>0</option>
<border>10</border>
<flag>wxALL|wxALIGN_CENTER</flag>
<border>0</border>
<flag>wxALL|wxALIGN_CENTER_HORIZONTAL</flag>
<object class="wxStaticText" name="label_1" base="EditStaticText">
<font>
<size>18</size>
@@ -54,7 +54,7 @@
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_8" base="EditStaticText">
<style>wxALIGN_CENTER</style>
<style>wxALIGN_CENTER_HORIZONTAL</style>
</object>
</object>
<object class="sizeritem">
@@ -85,7 +85,7 @@
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_12" base="EditStaticText">
<style>wxALIGN_CENTER</style>
<style>wxALIGN_CENTER_HORIZONTAL</style>
</object>
</object>
<object class="sizeritem">
@@ -149,15 +149,19 @@
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticBitmap" name="bitmap_4" base="EditStaticBitmap">
<bitmap>/Users/danamir/PycharmProjects/odd-perekrestok/img/perekr-4.jpg</bitmap>
<style>wxBORDER_NONE</style>
<bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\perekr4.jpg</bitmap>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticBitmap" name="bitmap_5" base="EditStaticBitmap">
<bitmap>/Users/danamir/PycharmProjects/odd-perekrestok/img/perekr-t.png</bitmap>
<style>wxBORDER_NONE</style>
<bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\perekr-t.jpg</bitmap>
</object>
</object>
</object>
@@ -165,6 +169,7 @@
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALL</flag>
<object class="wxStaticText" name="label_15" base="EditStaticText">
<font>
<size>14</size>
@@ -178,12 +183,12 @@
</object>
</object>
<object class="sizeritem">
<option>1</option>
<option>0</option>
<border>0</border>
<flag>wxEXPAND</flag>
<flag>wxALL|wxALIGN_CENTER_HORIZONTAL</flag>
<object class="wxFlexGridSizer" name="grid_sizer_2" base="EditFlexGridSizer">
<rows>1</rows>
<cols>6</cols>
<cols>9</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
@@ -206,7 +211,7 @@
<border>0</border>
<object class="wxStaticBitmap" name="bitmap_2" base="EditStaticBitmap">
<hidden>1</hidden>
<bitmap>/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg</bitmap>
<bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\123.jpg</bitmap>
</object>
</object>
<object class="sizeritem">
@@ -227,11 +232,19 @@
<option>0</option>
<border>0</border>
<object class="wxStaticBitmap" name="bitmap_3" base="EditStaticBitmap">
<bitmap>/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg</bitmap>
<bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\123.jpg</bitmap>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_RIGHT</flag>
<object class="wxButton" name="button_1" base="EditButton">
<label>button_1</label>
</object>
</object>
</object>
</object>
</object>

269
src/second_page1.wxg.bak Normal file
View File

@@ -0,0 +1,269 @@
<?xml version="1.0"?>
<!-- generated by wxGlade 1.1.0pre on Sun Jun 6 22:48:07 2021 -->
<application class="SecondPage" encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="tab" is_template="0" language="python" mark_blocks="1" name="SeconPage" option="0" overwrite="0" path="D:\Programming\PythonProjects\odd-perekrestok\src\second_page.py" source_extension=".cpp" top_window="frame" use_gettext="0" use_new_namespace="1">
<object class="SeconPageFrame" name="frame" base="EditFrame">
<size>800, 780</size>
<title>frame</title>
<style>wxDEFAULT_FRAME_STYLE</style>
<object class="wxBoxSizer" name="sizer_1" base="EditBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxPanel" name="panel_1" base="EditPanel">
<object class="wxStaticBoxSizer" name="sizer_2" base="EditStaticBoxSizer">
<orient>wxVERTICAL</orient>
<label>sizer_2</label>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALL|wxALIGN_CENTER_HORIZONTAL</flag>
<object class="wxStaticText" name="label_1" base="EditStaticText">
<font>
<size>18</size>
<family>default</family>
<style>normal</style>
<weight>bold</weight>
<underlined>0</underlined>
<face />
</font>
<label>Исходные данные для расчета\n</label>
</object>
</object>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxGridSizer" name="grid_sizer_1" base="EditGridSizer">
<rows>0</rows>
<cols>4</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<option>0</option>
<border>10</border>
<flag>wxALL|wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_7" base="EditStaticText">
<label>Категория\nГоризональной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_8" base="EditStaticText">
<style>wxALIGN_CENTER_HORIZONTAL</style>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_9" base="EditStaticText">
<label>Категория \nВертикальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_10" base="EditStaticText">
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_11" base="EditStaticText">
<label>Количество полос\nГоризонтальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_12" base="EditStaticText">
<style>wxALIGN_CENTER_HORIZONTAL</style>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_13" base="EditStaticText">
<label>Количество полос \nВертикальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticText" name="label_14" base="EditStaticText">
</object>
</object>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>9</border>
<flag>wxALL</flag>
<object class="wxStaticText" name="label_18" base="EditStaticText">
<font>
<size>14</size>
<family>default</family>
<style>normal</style>
<weight>bold</weight>
<underlined>0</underlined>
<face />
</font>
<label>Выберите тип пересечения</label>
</object>
</object>
<object class="sizeritem">
<option>1</option>
<border>0</border>
<flag>wxEXPAND</flag>
<object class="wxGridSizer" name="grid_sizer_3" base="EditGridSizer">
<rows>0</rows>
<cols>2</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER_HORIZONTAL</flag>
<object class="wxRadioButton" name="radio_btn_2" base="EditRadioButton">
<label>Крестооборазный\n</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER_HORIZONTAL</flag>
<object class="wxRadioButton" name="radio_btn_3" base="EditRadioButton">
<label>Т-образный</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticBitmap" name="bitmap_4" base="EditStaticBitmap">
<style>wxBORDER_NONE</style>
<bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\perekr-4.jpg</bitmap>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxStaticBitmap" name="bitmap_5" base="EditStaticBitmap">
<style>wxBORDER_NONE</style>
<bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\perekr-t.png</bitmap>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALL</flag>
<object class="wxStaticText" name="label_15" base="EditStaticText">
<font>
<size>14</size>
<family>default</family>
<style>normal</style>
<weight>bold</weight>
<underlined>0</underlined>
<face />
</font>
<label>Необходимо расчитать:</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALL|wxALIGN_CENTER_HORIZONTAL</flag>
<object class="wxFlexGridSizer" name="grid_sizer_2" base="EditFlexGridSizer">
<rows>1</rows>
<cols>9</cols>
<vgap>0</vgap>
<hgap>0</hgap>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL</flag>
<object class="wxStaticText" name="label_16" base="EditStaticText">
<label>Ширину проезжей части\nГоризонтальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="text_ctrl_1" base="EditTextCtrl">
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="wxStaticBitmap" name="bitmap_2" base="EditStaticBitmap">
<hidden>1</hidden>
<bitmap>/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg</bitmap>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="spacer" name="spacer" base="EditSpacer">
<width>20</width>
<height>20</height>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="wxStaticText" name="label_17" base="EditStaticText">
<label>Ширину проезжей части\nВертикальной улицы</label>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_CENTER</flag>
<object class="wxTextCtrl" name="text_ctrl_2" base="EditTextCtrl">
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="wxStaticBitmap" name="bitmap_3" base="EditStaticBitmap">
<bitmap>/Users/danamir/PycharmProjects/odd-perekrestok/img/good.jpg</bitmap>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<object class="spacer" name="spacer" base="EditSpacer">
<width>20</width>
<height>20</height>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<border>0</border>
<flag>wxALIGN_RIGHT</flag>
<object class="wxButton" name="button_1" base="EditButton">
<label>button_1</label>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</application>