add sources files

This commit is contained in:
danamir
2021-06-23 07:22:38 +03:00
parent 012dfc3e49
commit 129f6b6d63
13 changed files with 1294 additions and 131 deletions

BIN
db/odd.db

Binary file not shown.

View File

@@ -1,26 +1,48 @@
import wx import wx
import random import random
import os
import controller import controller
import os
import logging
import platform
class SeconPageFrame(wx.Frame): class SecondPageFrame(wx.Frame):
#Логирование
#срез 18
def __init__(self, *args, **kwds): 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 kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds) wx.Frame.__init__(self, *args, **kwds)
self.SetSize((800, 600)) self.SetSize((600, 800))
self.panel_1 = wx.Panel(self, wx.ID_ANY) 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, "", style = wx.TE_PROCESS_ENTER)
self.text_ctrl_2 = wx.TextCtrl(self.panel_1, wx.ID_ANY, "", style = wx.TE_PROCESS_ENTER)
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.imgPath = "..\\img\\"
self.__set_properties() self.__set_properties()
self.__do_layout() self.__do_layout()
@@ -29,10 +51,10 @@ class SeconPageFrame(wx.Frame):
def scale_bitmap(self, bitmap, width, height): def scale_bitmap(self, bitmap, width, height):
self.w = width self.w = width
self.h = height self.h = height
image = wx.Image(bitmap) self.image = wx.Image(bitmap)
image = image.Scale(self.w, self.h, wx.IMAGE_QUALITY_HIGH) self.image = self.image.Scale(self.w, self.h, wx.IMAGE_QUALITY_HIGH)
result = wx.Bitmap(image) self.result = wx.Bitmap(self.image)
return result return self.result
def __set_properties(self): def __set_properties(self):
# begin wxGlade: SeconPageFrame.__set_properties # begin wxGlade: SeconPageFrame.__set_properties
@@ -41,94 +63,90 @@ class SeconPageFrame(wx.Frame):
self.color = controller.setBacgroundColor() self.color = controller.setBacgroundColor()
self.SetBackgroundColour(self.color) self.SetBackgroundColour(self.color)
self.btnColor = controller.setBckgroundButtonColor() self.btnColor = controller.setBckgroundButtonColor()
#self.btn2.SetBackgroundColour(self.btnColor) # self.btn2.SetBackgroundColour(self.btnColor)
def __do_layout(self): def __do_layout(self):
# begin wxGlade: SeconPageFrame.__do_layout print(self.runPath)
sizer_1 = wx.BoxSizer(wx.VERTICAL) print(self.imgPath)
sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.panel_1, wx.ID_ANY, "sizer_2"), wx.VERTICAL) print(platform.system())
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)
label_7 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория \n Горизональной улицы") self.sizer_1 = wx.BoxSizer(wx.VERTICAL)
grid_sizer_1.Add(label_7, 0, wx.ALIGN_CENTER | wx.ALL, 10) 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) 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 Вертикальной улицы") self.label_kat_vert = wx.StaticText(self.panel_1, wx.ID_ANY, u"Категория \n Вертикальной улицы")
grid_sizer_1.Add(label_9, 0, wx.ALIGN_CENTER, 0) self.grid_sizer_1.Add(self.label_kat_vert, 0, wx.ALIGN_CENTER, 0)
self.katVertical = wx.StaticText(self.panel_1, wx.ID_ANY, "") 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 Горизонтальной улицы") self.label_11 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос \n Горизонтальной улицы")
grid_sizer_1.Add(label_11, 0, wx.ALIGN_CENTER, 0) 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) 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 Вертикальной улицы") self.label_13 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Количество полос \n Вертикальной улицы")
grid_sizer_1.Add(label_13, 0, wx.ALIGN_CENTER, 0) self.grid_sizer_1.Add(self.label_13, 0, wx.ALIGN_CENTER, 0)
self.kolvoPolosVert = wx.StaticText(self.panel_1, wx.ID_ANY, "") self.kolvoPolosVert = wx.StaticText(self.panel_1, wx.ID_ANY, "")
grid_sizer_1.Add(self.kolvoPolosVert, 0, wx.ALIGN_CENTER, 0) self.grid_sizer_1.Add(self.kolvoPolosVert, 0, wx.ALIGN_CENTER, 0)
sizer_2.Add(grid_sizer_1, 1, wx.EXPAND, 0) self.sizer_2.Add(self.grid_sizer_1, 1, wx.EXPAND, 0)
label_18 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Выберите тип пересечения") self.label_18 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Выберите тип пересечения")
label_18.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) self.label_18.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
sizer_2.Add(label_18, 0, wx.ALL, 9) self.sizer_2.Add(self.label_18, 0, wx.ALL, 9)
grid_sizer_3.Add(self.radio_btn_2, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) self.grid_sizer_3.Add(self.radio_krest, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
grid_sizer_3.Add(self.radio_btn_3, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) self.grid_sizer_3.Add(self.radio_t_obr, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
self.imgor = "..\\img\\perekr-4.jpg"
self.img = self.scale_bitmap(self.imgor, 150, 150)
self.bitmap_4 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY), style=wx.BORDER_NONE)
self.bitmap_4.SetBitmap(wx.Bitmap(self.img))
grid_sizer_3.Add(self.bitmap_4, 0, wx.ALIGN_CENTER, 0)
self.bitmap_5 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY)) self.label_15 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Необходимо расчитать:")
grid_sizer_3.Add(self.bitmap_5, 0, 0, 0) self.label_15.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
sizer_2.Add(grid_sizer_3, 1, wx.EXPAND, 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)
label_15 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Необходимо расчитать:") self.bitmap_2 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY))
label_15.SetFont(wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, "")) self.bitmap_2.Hide()
sizer_2.Add(label_15, 0, 0, 0) self.grid_sizer_2.Add(self.bitmap_2, 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)
bitmap_2 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY)) self.label_17 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Ширину проезжей части \n Вертикальной улицы")
bitmap_2.Hide() self.grid_sizer_2.Add(self.label_17, 0, 0, 0)
grid_sizer_2.Add(bitmap_2, 0, 0, 0) self.grid_sizer_2.Add(self.shir_vert, 0, wx.ALIGN_CENTER, 0)
label_17 = wx.StaticText(self.panel_1, wx.ID_ANY, u"Ширину проезжей части \n Вертикальной улицы") self.bitmap_3 = wx.StaticBitmap(self.panel_1, wx.ID_ANY, wx.Bitmap(100, 100, wx.BITMAP_TYPE_ANY))
grid_sizer_2.Add(label_17, 0, 0, 0) self.grid_sizer_2.Add(self.bitmap_3, 0, 0, 0)
grid_sizer_2.Add(self.text_ctrl_2, 0, wx.ALIGN_CENTER, 0) self.sizer_2.Add(self.grid_sizer_2, 1, wx.EXPAND, 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.button_1 = wx.Button(self.panel_1, wx.ID_ANY, "Далее") self.button_1 = wx.Button(self.panel_1, wx.ID_ANY, "Далее")
sizer_2.Add(self.button_1, 0, wx.ALIGN_RIGHT, 0) self.sizer_2.Add(self.button_1, 0, wx.ALIGN_RIGHT, 0)
self.panel_1.SetSizer(sizer_2) self.panel_1.SetSizer(self.sizer_2)
sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0) self.sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
self.SetSizer(sizer_1) self.SetSizer(self.sizer_1)
self.Layout() self.Layout()
def good(self): def good(self):
self.img1 = "../img/123.jpg" self.img1 = self.imgPath + "123.jpg"
self.img4 = self.scale_bitmap(self.img1, 50, 50) self.img4 = self.scale_bitmap(self.img1, 50, 50)
self.bitmap_2.SetBitmap(wx.Bitmap(self.img1)) self.bitmap_2.SetBitmap(wx.Bitmap(self.img1))
self.bitmap_2.Show() self.bitmap_2.Show()
self.Refresh() self.Refresh()
def bad(self): def bad(self):
self.img2 = "../img/bad.jpg" self.img1 = self.imgPath + "bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 70, 50) self.img3 = self.scale_bitmap(self.img1, 70, 50)
self.bitmap_3.SetBitmap(wx.Bitmap(self.img3)) self.bitmap_3.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_3.Show() self.bitmap_3.Show()
self.Refresh() self.Refresh()
@@ -145,15 +163,15 @@ class SeconPageFrame(wx.Frame):
print(self.pr_hor) print(self.pr_hor)
print(self.pr_Vert) print(self.pr_Vert)
if len(self.text_ctrl_1.GetValue()) > 0: if len(self.shir_horiz.GetValue()) > 0:
if str(self.pr_hor) == self.text_ctrl_1.GetValue(): if str(self.pr_hor) == self.shir_horiz.GetValue():
self.file = open("123", "w").close() self.file = open("123", "w").close()
self.file = open("123", "w") 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() self.file.close()
print("good") print("good")
self.bitmap_2.Hide() self.bitmap_2.Hide()
self.img1 = "../img/123.jpg" self.img1 = self.imgPath + "123.jpg"
self.img4 = self.scale_bitmap(self.img1, 50, 50) self.img4 = self.scale_bitmap(self.img1, 50, 50)
self.bitmap_2.SetBitmap(wx.Bitmap(self.img4)) self.bitmap_2.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_2.Show() self.bitmap_2.Show()
@@ -161,18 +179,18 @@ class SeconPageFrame(wx.Frame):
else: else:
print("bad") print("bad")
self.bitmap_2.Hide() self.bitmap_2.Hide()
self.img2 = "../img/bad.jpg" self.img1 = self.imgPath + "bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 70, 50) self.img3 = self.scale_bitmap(self.img1, 70, 50)
self.bitmap_2.SetBitmap(wx.Bitmap(self.img3)) self.bitmap_2.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_2.Show() self.bitmap_2.Show()
self.text_ctrl_1.SetValue(str(self.pr_hor)) self.shir_horiz.SetValue(str(self.pr_hor))
self.Refresh() self.Refresh()
if len(self.text_ctrl_2.GetValue()) > 0: if len(self.shir_vert.GetValue()) > 0:
if str(self.pr_Vert) == self.text_ctrl_2.GetValue() and len(self.text_ctrl_2.GetValue()) > 0: if str(self.pr_Vert) == self.shir_vert.GetValue() and len(self.shir_vert.GetValue()) > 0:
print("good") print("good")
self.bitmap_3.Hide() self.bitmap_3.Hide()
self.img1 = "../img/123.jpg" self.img1 = self.imgPath + "123.jpg"
self.img4 = self.scale_bitmap(self.img1, 50, 50) self.img4 = self.scale_bitmap(self.img1, 50, 50)
self.bitmap_3.SetBitmap(wx.Bitmap(self.img4)) self.bitmap_3.SetBitmap(wx.Bitmap(self.img4))
self.bitmap_3.Show() self.bitmap_3.Show()
@@ -180,18 +198,18 @@ class SeconPageFrame(wx.Frame):
else: else:
print("Bad") print("Bad")
self.bitmap_3.Hide() self.bitmap_3.Hide()
self.img2 = "../img/bad.jpg" self.img1 = self.imgPath + "bad.jpg"
self.img3 = self.scale_bitmap(self.img2, 70, 50) self.img3 = self.scale_bitmap(self.img1, 70, 50)
self.bitmap_3.SetBitmap(wx.Bitmap(self.img3)) self.bitmap_3.SetBitmap(wx.Bitmap(self.img3))
self.bitmap_3.Show() self.bitmap_3.Show()
self.text_ctrl_2.SetValue(str(self.pr_Vert)) self.shir_vert.SetValue(str(self.pr_Vert))
self.Refresh() self.Refresh()
def proverka_radiobtn(self): def proverka_radiobtn(self):
self.s = 1 self.s = 1
print(self.radio_btn_2.GetValue()) print(self.radio_krest.GetValue())
print(self.radio_btn_3.GetValue()) print(self.radio_t_obr.GetValue())
if self.radio_btn_2.GetValue() == self.radio_btn_2.GetValue(): if self.radio_krest.GetValue() == self.radio_krest.GetValue():
self.error_radio_btn() self.error_radio_btn()
self.s = 0 self.s = 0
return self.s return self.s
@@ -201,13 +219,15 @@ class SeconPageFrame(wx.Frame):
page3.Page3.OnInit(page3) page3.Page3.OnInit(page3)
self.Destroy() self.Destroy()
class SecondPage(wx.App): class SecondPage(wx.App):
def OnInit(self): def OnInit(self):
self.frame = SeconPageFrame(None, wx.ID_ANY, "") self.frame = SecondPageFrame(None, wx.ID_ANY)
self.frame.Show() self.frame.Show()
self.frame.Center()
return True return True
# end of class SecondPage
if __name__ == "__main__": if __name__ == "__main__":
SeconPage = SecondPage(0) SeconPage = SecondPage(0)

View File

@@ -618,9 +618,11 @@ class Page3Frame(wx.Frame):
self.text_ctrl_1.SetValue(str(self.s1)) self.text_ctrl_1.SetValue(str(self.s1))
self.Refresh() self.Refresh()
def gopage4(self, event): def gopage4(self, event):
from gui import page4 #from gui import page4
page4.MyApp.OnInit(page4) #page4.MyApp.OnInit(page4)
self.Destroy() #self.Destroy()
pass
class Page3(wx.App): 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

27
main.py
View File

@@ -5,21 +5,26 @@ from db.models import Student
from sqlalchemy import exists from sqlalchemy import exists
from db.models import Session from db.models import Session
from gui import SecondPage from gui import SecondPage
import logging import logging
import platform
import os import os
logging.basicConfig(filename="app.log",
#\ - винда | - другие ос
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
logging.basicConfig(filename="app.log",
filemode='a', filemode='a',
format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s', format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s',
datefmt='%H:%M:%S', datefmt='%H:%M:%S',
level=logging.DEBUG) level=logging.DEBUG)
logging.info("Running Urban Planning") logging.info("main page runing")
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__ # begin wxGlade: MyFrame.__init__
kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds) wx.Frame.__init__(self, *args, **kwds)
@@ -28,7 +33,7 @@ class MyFrame(wx.Frame):
self.inpt_familia = 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_group = wx.TextCtrl(self.panel_1, wx.ID_ANY, "")
self.inpt_zachetka = 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"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438") 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_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_settings.Bind(wx.EVT_BUTTON, self.setup)
@@ -103,9 +108,6 @@ class MyFrame(wx.Frame):
dlg.Destroy() dlg.Destroy()
def go_page2(self, event): def go_page2(self, event):
name = self.inpt_name.GetValue() name = self.inpt_name.GetValue()
name = name.replace(' ', '') name = name.replace(' ', '')
@@ -136,13 +138,10 @@ class MyFrame(wx.Frame):
new_session.add(student) new_session.add(student)
new_session.commit() new_session.commit()
from gui import SecondPage
SecondPage.SecondPage.OnInit(SecondPage) SecondPage.SecondPage.OnInit(SecondPage)
self.Destroy() self.Destroy()
# todo Перенести весь функционал из main.py # todo Перенести весь функционал из main.py
# todo Подключить логирование # todo Подключить логирование
# todo Настроить относительные пути к ресурсам # todo Настроить относительные пути к ресурсам
@@ -150,7 +149,7 @@ class MyFrame(wx.Frame):
def setup(self): def setup(self):
pass print("Setup pressed")
class MyApp(wx.App): class MyApp(wx.App):

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>

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()

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,5 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- generated by wxGlade 1.1.0pre on Sun Jun 6 22:48:07 2021 --> <!-- 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" 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"> <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"> <object class="SeconPageFrame" name="frame" base="EditFrame">
@@ -152,7 +152,7 @@
<flag>wxALIGN_CENTER</flag> <flag>wxALIGN_CENTER</flag>
<object class="wxStaticBitmap" name="bitmap_4" base="EditStaticBitmap"> <object class="wxStaticBitmap" name="bitmap_4" base="EditStaticBitmap">
<style>wxBORDER_NONE</style> <style>wxBORDER_NONE</style>
<bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\perekr-4.jpg</bitmap> <bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\perekr4.jpg</bitmap>
</object> </object>
</object> </object>
<object class="sizeritem"> <object class="sizeritem">
@@ -161,7 +161,7 @@
<flag>wxALIGN_CENTER</flag> <flag>wxALIGN_CENTER</flag>
<object class="wxStaticBitmap" name="bitmap_5" base="EditStaticBitmap"> <object class="wxStaticBitmap" name="bitmap_5" base="EditStaticBitmap">
<style>wxBORDER_NONE</style> <style>wxBORDER_NONE</style>
<bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\perekr-t.png</bitmap> <bitmap>D:\Programming\PythonProjects\odd-perekrestok\img\perekr-t.jpg</bitmap>
</object> </object>
</object> </object>
</object> </object>
@@ -211,15 +211,7 @@
<border>0</border> <border>0</border>
<object class="wxStaticBitmap" name="bitmap_2" base="EditStaticBitmap"> <object class="wxStaticBitmap" name="bitmap_2" base="EditStaticBitmap">
<hidden>1</hidden> <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">
<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"> <object class="sizeritem">
@@ -240,15 +232,7 @@
<option>0</option> <option>0</option>
<border>0</border> <border>0</border>
<object class="wxStaticBitmap" name="bitmap_3" base="EditStaticBitmap"> <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 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> </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>