constantes ui
This commit is contained in:
parent
bed9dcc52a
commit
d954eb57e1
7
Car.py
7
Car.py
@ -57,6 +57,9 @@ class Car():
|
|||||||
|
|
||||||
self.vmax=0
|
self.vmax=0
|
||||||
|
|
||||||
|
self.S = 5
|
||||||
|
self.T = 0.3
|
||||||
|
|
||||||
self.vroom = 0
|
self.vroom = 0
|
||||||
|
|
||||||
self.rawRoute = route
|
self.rawRoute = route
|
||||||
@ -162,8 +165,8 @@ class Car():
|
|||||||
|
|
||||||
vbar=(self.v+vleader)/2
|
vbar=(self.v+vleader)/2
|
||||||
bbar=(bleader+self.b)/2
|
bbar=(bleader+self.b)/2
|
||||||
S=5
|
S=self.S
|
||||||
T=0.3
|
T=self.T
|
||||||
vsec=vleader+(S-vmax*T)/(vbar/bbar+T)
|
vsec=vleader+(S-vmax*T)/(vbar/bbar+T)
|
||||||
vd=min(self.v+self.a*dt,vmax) #,vsec)
|
vd=min(self.v+self.a*dt,vmax) #,vsec)
|
||||||
self.v=max(0,vd)
|
self.v=max(0,vd)
|
||||||
|
@ -2,7 +2,8 @@ import sumolib
|
|||||||
from Car import Car
|
from Car import Car
|
||||||
from Flow import Flow
|
from Flow import Flow
|
||||||
from carInfo import Ui_carInfo
|
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.QtCore import Qt, Slot, Signal, QThread
|
||||||
from PySide6.QtCharts import QChart, QSplineSeries, QLineSeries
|
from PySide6.QtCharts import QChart, QSplineSeries, QLineSeries
|
||||||
from math import ceil
|
from math import ceil
|
||||||
@ -75,13 +76,35 @@ class carInfo(QWidget):
|
|||||||
obj.setText(f"{key} : {val}")
|
obj.setText(f"{key} : {val}")
|
||||||
obj.update()
|
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:
|
class CarController:
|
||||||
def __init__(self,parentMap):
|
def __init__(self, parentMap, mainWindow):
|
||||||
self.map=parentMap
|
self.map=parentMap
|
||||||
self.cars=[]
|
self.cars=[]
|
||||||
self.flows=[]
|
self.flows=[]
|
||||||
self.t=0
|
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):
|
def fromPath(self,path):
|
||||||
self.cars=[]
|
self.cars=[]
|
||||||
@ -134,5 +157,6 @@ class CarController:
|
|||||||
painter.setPen(Qt.white)
|
painter.setPen(Qt.white)
|
||||||
car.draw(painter)
|
car.draw(painter)
|
||||||
|
|
||||||
def setInfoWidget(self, widget):
|
def updateConstant(self, name, val):
|
||||||
self.infoWidget = widget
|
for car in self.cars:
|
||||||
|
car.__dict__[name] = val
|
||||||
|
@ -17,9 +17,7 @@ class mainLoop(QObject):
|
|||||||
|
|
||||||
self.map = Map()
|
self.map = Map()
|
||||||
|
|
||||||
self.controller = CarController(self.map)
|
self.controller = CarController(self.map, parent)
|
||||||
|
|
||||||
self.controller.setInfoWidget(parent.findChild(QToolBox,"carInfos"))
|
|
||||||
|
|
||||||
self.painter.addMap(self.map)
|
self.painter.addMap(self.map)
|
||||||
self.painter.addCarController(self.controller)
|
self.painter.addCarController(self.controller)
|
||||||
|
48
varEdit.py
Normal file
48
varEdit.py
Normal 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
31
varEdit.ui
Normal 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>
|
@ -48,6 +48,11 @@ class Ui_MainWindow(object):
|
|||||||
self.verticalLayout = QVBoxLayout()
|
self.verticalLayout = QVBoxLayout()
|
||||||
self.verticalLayout.setObjectName(u"verticalLayout")
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||||
self.verticalLayout.setSizeConstraint(QLayout.SetDefaultConstraint)
|
self.verticalLayout.setSizeConstraint(QLayout.SetDefaultConstraint)
|
||||||
|
self.constEdit = QVBoxLayout()
|
||||||
|
self.constEdit.setObjectName(u"constEdit")
|
||||||
|
|
||||||
|
self.verticalLayout.addLayout(self.constEdit)
|
||||||
|
|
||||||
self.generalInfos = QVBoxLayout()
|
self.generalInfos = QVBoxLayout()
|
||||||
self.generalInfos.setObjectName(u"generalInfos")
|
self.generalInfos.setObjectName(u"generalInfos")
|
||||||
self.horizontalLayout_3 = QHBoxLayout()
|
self.horizontalLayout_3 = QHBoxLayout()
|
||||||
@ -118,7 +123,8 @@ class Ui_MainWindow(object):
|
|||||||
self.verticalLayout.addWidget(self.carInfos)
|
self.verticalLayout.addWidget(self.carInfos)
|
||||||
|
|
||||||
self.verticalLayout.setStretch(0, 1)
|
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)
|
self.horizontalLayout.addLayout(self.verticalLayout)
|
||||||
|
|
||||||
|
@ -34,10 +34,13 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,5">
|
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,1,5">
|
||||||
<property name="sizeConstraint">
|
<property name="sizeConstraint">
|
||||||
<enum>QLayout::SetDefaultConstraint</enum>
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
</property>
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="constEdit"/>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="generalInfos" stretch="0,0,0">
|
<layout class="QVBoxLayout" name="generalInfos" stretch="0,0,0">
|
||||||
<item>
|
<item>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user