constantes ui

This commit is contained in:
leo 2022-02-28 21:18:39 +01:00
parent bed9dcc52a
commit d954eb57e1
Signed by: leo
GPG Key ID: 0DD993BFB2B307DB
7 changed files with 125 additions and 12 deletions

7
Car.py
View File

@ -57,6 +57,9 @@ class Car():
self.vmax=0
self.S = 5
self.T = 0.3
self.vroom = 0
self.rawRoute = route
@ -162,8 +165,8 @@ class Car():
vbar=(self.v+vleader)/2
bbar=(bleader+self.b)/2
S=5
T=0.3
S=self.S
T=self.T
vsec=vleader+(S-vmax*T)/(vbar/bbar+T)
vd=min(self.v+self.a*dt,vmax) #,vsec)
self.v=max(0,vd)

View File

@ -2,7 +2,8 @@ import sumolib
from Car import Car
from Flow import Flow
from carInfo import Ui_carInfo
from PySide6.QtWidgets import QWidget, QLabel
from varEdit import Ui_varEdit
from PySide6.QtWidgets import QWidget, QLabel, QToolBox
from PySide6.QtCore import Qt, Slot, Signal, QThread
from PySide6.QtCharts import QChart, QSplineSeries, QLineSeries
from math import ceil
@ -75,13 +76,35 @@ class carInfo(QWidget):
obj.setText(f"{key} : {val}")
obj.update()
class varEdit(QWidget):
def __init__(self, parent, carController, varName, value):
super().__init__()
self.ui = Ui_varEdit()
self.ui.setupUi(self)
self.hookName = varName
self.ui.name.setText(varName)
self.ui.value.setValue(value)
self.CC = carController
self.ui.value.valueChanged.connect(self.valueChanged)
def valueChanged(self):
value = self.ui.value.value()
self.CC.updateConstant(self.hookName, value)
class CarController:
def __init__(self,parentMap):
def __init__(self, parentMap, mainWindow):
self.map=parentMap
self.cars=[]
self.flows=[]
self.t=0
self.infoWidget=None
self.infoWidget=mainWindow.findChild(QToolBox, "carInfos")
varWidget = mainWindow.ui.constEdit
varWidget.addWidget(varEdit(varWidget, self, "S", 5))
varWidget.addWidget(varEdit(varWidget, self, "T", 0.3))
def fromPath(self,path):
self.cars=[]
@ -134,5 +157,6 @@ class CarController:
painter.setPen(Qt.white)
car.draw(painter)
def setInfoWidget(self, widget):
self.infoWidget = widget
def updateConstant(self, name, val):
for car in self.cars:
car.__dict__[name] = val

View File

@ -17,9 +17,7 @@ class mainLoop(QObject):
self.map = Map()
self.controller = CarController(self.map)
self.controller.setInfoWidget(parent.findChild(QToolBox,"carInfos"))
self.controller = CarController(self.map, parent)
self.painter.addMap(self.map)
self.painter.addCarController(self.controller)

48
varEdit.py Normal file
View File

@ -0,0 +1,48 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'varEdit.ui'
##
## Created by: Qt User Interface Compiler version 6.2.3
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QDoubleSpinBox, QHBoxLayout, QLabel,
QSizePolicy, QWidget)
class Ui_varEdit(object):
def setupUi(self, varEdit):
if not varEdit.objectName():
varEdit.setObjectName(u"varEdit")
varEdit.resize(400, 300)
self.horizontalLayout = QHBoxLayout(varEdit)
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.name = QLabel(varEdit)
self.name.setObjectName(u"name")
self.horizontalLayout.addWidget(self.name)
self.value = QDoubleSpinBox(varEdit)
self.value.setObjectName(u"value")
self.horizontalLayout.addWidget(self.value)
self.retranslateUi(varEdit)
QMetaObject.connectSlotsByName(varEdit)
# setupUi
def retranslateUi(self, varEdit):
varEdit.setWindowTitle(QCoreApplication.translate("varEdit", u"Form", None))
self.name.setText(QCoreApplication.translate("varEdit", u"TextLabel", None))
# retranslateUi

31
varEdit.ui Normal file
View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>varEdit</class>
<widget class="QWidget" name="varEdit">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="name">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="value"/>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -48,6 +48,11 @@ class Ui_MainWindow(object):
self.verticalLayout = QVBoxLayout()
self.verticalLayout.setObjectName(u"verticalLayout")
self.verticalLayout.setSizeConstraint(QLayout.SetDefaultConstraint)
self.constEdit = QVBoxLayout()
self.constEdit.setObjectName(u"constEdit")
self.verticalLayout.addLayout(self.constEdit)
self.generalInfos = QVBoxLayout()
self.generalInfos.setObjectName(u"generalInfos")
self.horizontalLayout_3 = QHBoxLayout()
@ -118,7 +123,8 @@ class Ui_MainWindow(object):
self.verticalLayout.addWidget(self.carInfos)
self.verticalLayout.setStretch(0, 1)
self.verticalLayout.setStretch(1, 5)
self.verticalLayout.setStretch(1, 1)
self.verticalLayout.setStretch(2, 5)
self.horizontalLayout.addLayout(self.verticalLayout)

View File

@ -34,10 +34,13 @@
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,5">
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,1,5">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<item>
<layout class="QVBoxLayout" name="constEdit"/>
</item>
<item>
<layout class="QVBoxLayout" name="generalInfos" stretch="0,0,0">
<item>