commencé l'ui
This commit is contained in:
parent
d72d720f22
commit
91f55d2970
30
Car.py
30
Car.py
@ -17,18 +17,33 @@ class Car:
|
|||||||
if(inverted):
|
if(inverted):
|
||||||
self.laneShape.reverse()
|
self.laneShape.reverse()
|
||||||
|
|
||||||
print(f"{self.id} : {startEdge.getID()} -> {nextEdge.getID()} via {laneId}")
|
self.infoWidg.setVal("Index",f"{self.index}/{len(self.route)}")
|
||||||
|
self.infoWidg.setVal("Edge",self.route[self.index])
|
||||||
|
|
||||||
|
#print(f"{self.id} : {startEdge.getID()} -> {nextEdge.getID()} via {laneId}")
|
||||||
|
|
||||||
def __init__(self,carID,route,parentMap,parentController):
|
def __init__(self,carID,route,parentMap,parentController,infoWidg):
|
||||||
self.id=carID
|
self.id=carID
|
||||||
self.map=parentMap
|
self.map=parentMap
|
||||||
self.controller=parentController
|
self.controller=parentController
|
||||||
|
self.infoWidg=infoWidg
|
||||||
self.index=0
|
self.index=0
|
||||||
self.laneInd=0
|
self.laneInd=0
|
||||||
self.route=[]
|
self.route=[]
|
||||||
|
|
||||||
|
self.pos=[0,0]
|
||||||
|
self.v=0
|
||||||
|
self.a=10
|
||||||
|
self.b=20
|
||||||
|
|
||||||
route=list(map(self.map.getEdge,route))
|
self.infoWidg.setVal("Position",self.pos)
|
||||||
|
self.infoWidg.setVal("Vitesse",self.v)
|
||||||
|
self.infoWidg.setVal("Index",f"{self.index}/{len(route)}")
|
||||||
|
|
||||||
|
self.rawRoute = route
|
||||||
|
|
||||||
|
def prepareRoute(self):
|
||||||
|
route = list(map(self.map.getEdge,self.rawRoute))
|
||||||
for r,rn in zip(route,route[1:]):
|
for r,rn in zip(route,route[1:]):
|
||||||
self.route.append(r)
|
self.route.append(r)
|
||||||
conn=r.getConnections(rn)
|
conn=r.getConnections(rn)
|
||||||
@ -46,16 +61,13 @@ class Car:
|
|||||||
self.initPath()
|
self.initPath()
|
||||||
|
|
||||||
self.pos=list(self.laneShape[0])
|
self.pos=list(self.laneShape[0])
|
||||||
self.v=0
|
|
||||||
self.a=10
|
|
||||||
self.b=20
|
|
||||||
|
|
||||||
def draw(self,painter):
|
def draw(self,painter):
|
||||||
pt = QPointF(*self.pos)
|
pt = QPointF(*self.pos)
|
||||||
painter.drawEllipse(pt,3,3)
|
painter.drawEllipse(pt,3,3)
|
||||||
|
|
||||||
def conduite(self,vmax,leader,dt):
|
def conduite(self,vmax,leader,dt):
|
||||||
if(leader==None):
|
if(leader is None):
|
||||||
self.v=vmax
|
self.v=vmax
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
@ -107,3 +119,7 @@ class Car:
|
|||||||
self.pos[0]+=(endPos[0]-self.pos[0])*adv
|
self.pos[0]+=(endPos[0]-self.pos[0])*adv
|
||||||
self.pos[1]+=(endPos[1]-self.pos[1])*adv
|
self.pos[1]+=(endPos[1]-self.pos[1])*adv
|
||||||
lgt=0
|
lgt=0
|
||||||
|
|
||||||
|
self.infoWidg.setVal("Position", self.pos)
|
||||||
|
self.infoWidg.setVal("Vitesse", self.v)
|
||||||
|
self.infoWidg.setVal("Leader", leader if leader is None else leader.id)
|
||||||
|
@ -1,25 +1,37 @@
|
|||||||
import sumolib
|
import sumolib
|
||||||
from Car import Car
|
from Car import Car
|
||||||
|
from carInfo import Ui_carInfo
|
||||||
|
from PySide6.QtWidgets import QWidget, QLabel
|
||||||
|
|
||||||
|
class carInfo(QWidget):
|
||||||
|
def __init__(self):
|
||||||
|
super(carInfo,self).__init__()
|
||||||
|
self.ui = Ui_carInfo()
|
||||||
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
|
def setVal(self,key,val):
|
||||||
|
obj = self.findChild(QLabel,key)
|
||||||
|
if(obj is None):
|
||||||
|
return
|
||||||
|
obj.setText(f"{key} : {val}")
|
||||||
|
obj.update()
|
||||||
|
|
||||||
class CarController:
|
class CarController:
|
||||||
def __init__(self,parentMap):
|
def __init__(self,parentMap):
|
||||||
self.map=parentMap
|
self.map=parentMap
|
||||||
self.cars=[]
|
self.cars=[]
|
||||||
self.path = None
|
|
||||||
|
|
||||||
def setPath(self,path):
|
def fromPath(self,path):
|
||||||
self.path = path
|
self.cars=[]
|
||||||
|
|
||||||
def fromPath(self,path=None):
|
|
||||||
if(path == None):
|
|
||||||
if(self.path == None):
|
|
||||||
return
|
|
||||||
else:
|
|
||||||
path = self.path
|
|
||||||
for vehicle in sumolib.xml.parse(path,"vehicle"):
|
for vehicle in sumolib.xml.parse(path,"vehicle"):
|
||||||
route=vehicle.route[0].edges.split()
|
route=vehicle.route[0].edges.split()
|
||||||
self.cars.append(Car(vehicle.id,route,self.map,self))
|
wId=self.infoWidget.addItem(carInfo(), vehicle.id)
|
||||||
|
self.cars.append(Car(vehicle.id,route,self.map,self,self.infoWidget.widget(wId)))
|
||||||
|
|
||||||
|
def prepareRoute(self):
|
||||||
|
for car in self.cars:
|
||||||
|
car.prepareRoute()
|
||||||
|
|
||||||
def getCarsOnEdge(self,edgeID): # on devrai probablement utiliser une map ici (dict en python?) mais flemme
|
def getCarsOnEdge(self,edgeID): # on devrai probablement utiliser une map ici (dict en python?) mais flemme
|
||||||
res=[]
|
res=[]
|
||||||
for car in self.cars:
|
for car in self.cars:
|
||||||
@ -29,9 +41,15 @@ class CarController:
|
|||||||
return res
|
return res
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
|
if(self.map.net is None):
|
||||||
|
return
|
||||||
for car in self.cars:
|
for car in self.cars:
|
||||||
car.update(1.0/60)
|
car.update(1.0/60)
|
||||||
|
|
||||||
def draw(self,painter):
|
def draw(self,painter):
|
||||||
for car in self.cars:
|
for car in self.cars:
|
||||||
car.draw(painter)
|
car.draw(painter)
|
||||||
|
|
||||||
|
def setInfoWidget(self, widget):
|
||||||
|
self.infoWidget = widget
|
||||||
|
|
||||||
|
4
Map.py
4
Map.py
@ -8,7 +8,7 @@ from PySide6.QtCore import Qt, QPointF
|
|||||||
|
|
||||||
class Map:
|
class Map:
|
||||||
def __init__(self,path=None):
|
def __init__(self,path=None):
|
||||||
if path!=None:
|
if path is not None:
|
||||||
self.fromPath(path)
|
self.fromPath(path)
|
||||||
self.net = None
|
self.net = None
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ class Map:
|
|||||||
self.net = sumolib.net.readNet(path,withInternal=True,withConnections=True)
|
self.net = sumolib.net.readNet(path,withInternal=True,withConnections=True)
|
||||||
|
|
||||||
def isLoaded(self):
|
def isLoaded(self):
|
||||||
return not (self.net == None)
|
return not (self.net is None)
|
||||||
|
|
||||||
def safeCall(func):
|
def safeCall(func):
|
||||||
def inner(*args, **kwargs):
|
def inner(*args, **kwargs):
|
||||||
|
67
carInfo.py
Normal file
67
carInfo.py
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'carInfo.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, QLabel, QSizePolicy, QVBoxLayout,
|
||||||
|
QWidget)
|
||||||
|
|
||||||
|
class Ui_carInfo(object):
|
||||||
|
def setupUi(self, carInfo):
|
||||||
|
if not carInfo.objectName():
|
||||||
|
carInfo.setObjectName(u"carInfo")
|
||||||
|
carInfo.resize(378, 472)
|
||||||
|
self.verticalLayout = QVBoxLayout(carInfo)
|
||||||
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||||
|
self.Position = QLabel(carInfo)
|
||||||
|
self.Position.setObjectName(u"Position")
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.Position)
|
||||||
|
|
||||||
|
self.Vitesse = QLabel(carInfo)
|
||||||
|
self.Vitesse.setObjectName(u"Vitesse")
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.Vitesse)
|
||||||
|
|
||||||
|
self.Index = QLabel(carInfo)
|
||||||
|
self.Index.setObjectName(u"Index")
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.Index)
|
||||||
|
|
||||||
|
self.Edge = QLabel(carInfo)
|
||||||
|
self.Edge.setObjectName(u"Edge")
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.Edge)
|
||||||
|
|
||||||
|
self.Leader = QLabel(carInfo)
|
||||||
|
self.Leader.setObjectName(u"Leader")
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.Leader)
|
||||||
|
|
||||||
|
|
||||||
|
self.retranslateUi(carInfo)
|
||||||
|
|
||||||
|
QMetaObject.connectSlotsByName(carInfo)
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, carInfo):
|
||||||
|
carInfo.setWindowTitle(QCoreApplication.translate("carInfo", u"Form", None))
|
||||||
|
self.Position.setText(QCoreApplication.translate("carInfo", u"TextLabel", None))
|
||||||
|
self.Vitesse.setText(QCoreApplication.translate("carInfo", u"TextLabel", None))
|
||||||
|
self.Index.setText(QCoreApplication.translate("carInfo", u"TextLabel", None))
|
||||||
|
self.Edge.setText(QCoreApplication.translate("carInfo", u"TextLabel", None))
|
||||||
|
self.Leader.setText(QCoreApplication.translate("carInfo", u"TextLabel", None))
|
||||||
|
# retranslateUi
|
||||||
|
|
56
carInfo.ui
Normal file
56
carInfo.ui
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>carInfo</class>
|
||||||
|
<widget class="QWidget" name="carInfo">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>378</width>
|
||||||
|
<height>472</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="Position">
|
||||||
|
<property name="text">
|
||||||
|
<string>TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="Vitesse">
|
||||||
|
<property name="text">
|
||||||
|
<string>TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="Index">
|
||||||
|
<property name="text">
|
||||||
|
<string>TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="Edge">
|
||||||
|
<property name="text">
|
||||||
|
<string>TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="Leader">
|
||||||
|
<property name="text">
|
||||||
|
<string>TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
5
main.py
5
main.py
@ -19,11 +19,10 @@ class MainWindow(QMainWindow):
|
|||||||
self.ui = Ui_MainWindow()
|
self.ui = Ui_MainWindow()
|
||||||
self.ui.setupUi(self)
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
self.setAttribute(Qt.WA_TranslucentBackground)
|
|
||||||
self.setAttribute(Qt.WA_NoSystemBackground, False)
|
|
||||||
|
|
||||||
self.mainLoop = mainLoop(self)
|
self.mainLoop = mainLoop(self)
|
||||||
|
|
||||||
|
self.mainLoop.addInfosDisplay(self.ui.infos)
|
||||||
|
|
||||||
fileMenu = self.menuBar().addMenu("&File")
|
fileMenu = self.menuBar().addMenu("&File")
|
||||||
openMenu = fileMenu.addMenu("&Open")
|
openMenu = fileMenu.addMenu("&Open")
|
||||||
|
|
||||||
|
@ -26,13 +26,15 @@ class mainLoop():
|
|||||||
self.map.fromPath(fileName[0])
|
self.map.fromPath(fileName[0])
|
||||||
self.painter.generateTransform()
|
self.painter.generateTransform()
|
||||||
|
|
||||||
self.controller.fromPath()
|
self.controller.prepareRoute()
|
||||||
|
|
||||||
def openVehicles(self):
|
def openVehicles(self):
|
||||||
fileName = QFileDialog.getOpenFileName(self.parent,"Open Vehicle trip description", "./", "Route File (*.rou.xml)")
|
fileName = QFileDialog.getOpenFileName(self.parent,"Open Vehicle trip description", "./", "Route File (*.rou.xml)")
|
||||||
if(fileName[0] == ''):
|
if(fileName[0] == ''):
|
||||||
return
|
return
|
||||||
self.controller.setPath(fileName[0])
|
self.controller.fromPath(fileName[0])
|
||||||
if(self.map.isLoaded()):
|
if(self.map.isLoaded()):
|
||||||
self.controller.fromPath()
|
self.controller.prepareRoute()
|
||||||
|
|
||||||
|
def addInfosDisplay(self, widget):
|
||||||
|
self.controller.setInfoWidget(widget)
|
||||||
|
@ -19,7 +19,7 @@ class mainPainter(QOpenGLWidget):
|
|||||||
|
|
||||||
def generateTransform(self):
|
def generateTransform(self):
|
||||||
bounds = self.map.getBounds()
|
bounds = self.map.getBounds()
|
||||||
if(bounds == None):
|
if(bounds is None):
|
||||||
return
|
return
|
||||||
bounds[0] = list(map(lambda b: b-10,bounds[0]))
|
bounds[0] = list(map(lambda b: b-10,bounds[0]))
|
||||||
bounds[1] = list(map(lambda b: b+10, bounds[1]))
|
bounds[1] = list(map(lambda b: b+10, bounds[1]))
|
||||||
|
28
window.py
28
window.py
@ -16,7 +16,8 @@ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
|
|||||||
QImage, QKeySequence, QLinearGradient, QPainter,
|
QImage, QKeySequence, QLinearGradient, QPainter,
|
||||||
QPalette, QPixmap, QRadialGradient, QTransform)
|
QPalette, QPixmap, QRadialGradient, QTransform)
|
||||||
from PySide6.QtWidgets import (QApplication, QGridLayout, QHBoxLayout, QMainWindow,
|
from PySide6.QtWidgets import (QApplication, QGridLayout, QHBoxLayout, QMainWindow,
|
||||||
QMenuBar, QSizePolicy, QStatusBar, QWidget)
|
QMenuBar, QSizePolicy, QStatusBar, QToolBox,
|
||||||
|
QWidget)
|
||||||
|
|
||||||
from mainPainter import mainPainter
|
from mainPainter import mainPainter
|
||||||
|
|
||||||
@ -24,7 +25,8 @@ class Ui_MainWindow(object):
|
|||||||
def setupUi(self, MainWindow):
|
def setupUi(self, MainWindow):
|
||||||
if not MainWindow.objectName():
|
if not MainWindow.objectName():
|
||||||
MainWindow.setObjectName(u"MainWindow")
|
MainWindow.setObjectName(u"MainWindow")
|
||||||
MainWindow.resize(800, 600)
|
MainWindow.setEnabled(True)
|
||||||
|
MainWindow.resize(540, 360)
|
||||||
self.centralwidget = QWidget(MainWindow)
|
self.centralwidget = QWidget(MainWindow)
|
||||||
self.centralwidget.setObjectName(u"centralwidget")
|
self.centralwidget.setObjectName(u"centralwidget")
|
||||||
self.gridLayout = QGridLayout(self.centralwidget)
|
self.gridLayout = QGridLayout(self.centralwidget)
|
||||||
@ -33,16 +35,33 @@ class Ui_MainWindow(object):
|
|||||||
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||||
self.mainSurf = mainPainter(self.centralwidget)
|
self.mainSurf = mainPainter(self.centralwidget)
|
||||||
self.mainSurf.setObjectName(u"mainSurf")
|
self.mainSurf.setObjectName(u"mainSurf")
|
||||||
|
self.mainSurf.setEnabled(True)
|
||||||
|
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
|
||||||
|
sizePolicy.setHorizontalStretch(2)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.mainSurf.sizePolicy().hasHeightForWidth())
|
||||||
|
self.mainSurf.setSizePolicy(sizePolicy)
|
||||||
|
|
||||||
self.horizontalLayout.addWidget(self.mainSurf)
|
self.horizontalLayout.addWidget(self.mainSurf)
|
||||||
|
|
||||||
|
self.infos = QToolBox(self.centralwidget)
|
||||||
|
self.infos.setObjectName(u"infos")
|
||||||
|
self.infos.setEnabled(True)
|
||||||
|
sizePolicy1 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
|
||||||
|
sizePolicy1.setHorizontalStretch(1)
|
||||||
|
sizePolicy1.setVerticalStretch(0)
|
||||||
|
sizePolicy1.setHeightForWidth(self.infos.sizePolicy().hasHeightForWidth())
|
||||||
|
self.infos.setSizePolicy(sizePolicy1)
|
||||||
|
|
||||||
|
self.horizontalLayout.addWidget(self.infos)
|
||||||
|
|
||||||
|
|
||||||
self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)
|
self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)
|
||||||
|
|
||||||
MainWindow.setCentralWidget(self.centralwidget)
|
MainWindow.setCentralWidget(self.centralwidget)
|
||||||
self.menubar = QMenuBar(MainWindow)
|
self.menubar = QMenuBar(MainWindow)
|
||||||
self.menubar.setObjectName(u"menubar")
|
self.menubar.setObjectName(u"menubar")
|
||||||
self.menubar.setGeometry(QRect(0, 0, 800, 27))
|
self.menubar.setGeometry(QRect(0, 0, 540, 27))
|
||||||
MainWindow.setMenuBar(self.menubar)
|
MainWindow.setMenuBar(self.menubar)
|
||||||
self.statusbar = QStatusBar(MainWindow)
|
self.statusbar = QStatusBar(MainWindow)
|
||||||
self.statusbar.setObjectName(u"statusbar")
|
self.statusbar.setObjectName(u"statusbar")
|
||||||
@ -50,6 +69,9 @@ class Ui_MainWindow(object):
|
|||||||
|
|
||||||
self.retranslateUi(MainWindow)
|
self.retranslateUi(MainWindow)
|
||||||
|
|
||||||
|
self.infos.setCurrentIndex(-1)
|
||||||
|
|
||||||
|
|
||||||
QMetaObject.connectSlotsByName(MainWindow)
|
QMetaObject.connectSlotsByName(MainWindow)
|
||||||
# setupUi
|
# setupUi
|
||||||
|
|
||||||
|
37
window.ui
37
window.ui
@ -2,12 +2,15 @@
|
|||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>MainWindow</class>
|
<class>MainWindow</class>
|
||||||
<widget class="QMainWindow" name="MainWindow">
|
<widget class="QMainWindow" name="MainWindow">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>800</width>
|
<width>540</width>
|
||||||
<height>600</height>
|
<height>360</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -18,7 +21,33 @@
|
|||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="mainPainter" name="mainSurf"/>
|
<widget class="mainPainter" name="mainSurf">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>2</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolBox" name="infos">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>1</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>-1</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
@ -29,7 +58,7 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>800</width>
|
<width>540</width>
|
||||||
<height>27</height>
|
<height>27</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user