9from PyQt6
import QtCore, QtGui, QtWidgets
13 def setupUi(self, pointageWidget):
14 pointageWidget.setObjectName(
"pointageWidget")
15 pointageWidget.resize(802, 621)
18 self.
scrollArea = QtWidgets.QScrollArea(parent=pointageWidget)
19 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred)
20 sizePolicy.setHorizontalStretch(0)
21 sizePolicy.setVerticalStretch(0)
22 sizePolicy.setHeightForWidth(self.
scrollArea.sizePolicy().hasHeightForWidth())
24 self.
scrollArea.setMinimumSize(QtCore.QSize(184, 0))
25 self.
scrollArea.setMaximumSize(QtCore.QSize(184, 16777215))
26 self.
scrollArea.setSizeIncrement(QtCore.QSize(0, 0))
27 self.
scrollArea.setBaseSize(QtCore.QSize(0, 0))
36 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum)
37 sizePolicy.setHorizontalStretch(0)
38 sizePolicy.setVerticalStretch(0)
39 sizePolicy.setHeightForWidth(self.
widget_3.sizePolicy().hasHeightForWidth())
40 self.
widget_3.setSizePolicy(sizePolicy)
41 self.
widget_3.setObjectName(
"widget_3")
45 spacerItem = QtWidgets.QSpacerItem(1, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
48 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
49 sizePolicy.setHorizontalStretch(1)
50 sizePolicy.setVerticalStretch(0)
51 sizePolicy.setHeightForWidth(self.
frame.sizePolicy().hasHeightForWidth())
52 self.
frame.setSizePolicy(sizePolicy)
53 self.
frame.setMinimumSize(QtCore.QSize(100, 100))
54 self.
frame.setMaximumSize(QtCore.QSize(100, 100))
55 self.
frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
56 self.
frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
57 self.
frame.setObjectName(
"frame")
63 self.
zoom_zone.setMinimumSize(QtCore.QSize(100, 100))
64 self.
zoom_zone.setMaximumSize(QtCore.QSize(100, 100))
68 spacerItem1 = QtWidgets.QSpacerItem(1, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
72 self.
zoomLabel.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
76 self.
widget_4.setObjectName(
"widget_4")
84 self.
editYpx.setObjectName(
"editYpx")
87 self.
editXpx.setMinimumSize(QtCore.QSize(0, 0))
90 self.
editXpx.setObjectName(
"editXpx")
93 self.
editYm.setReadOnly(
True)
94 self.
editYm.setObjectName(
"editYm")
97 self.
editXm.setMinimumSize(QtCore.QSize(0, 0))
98 self.
editXm.setReadOnly(
True)
99 self.
editXm.setObjectName(
"editXm")
102 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred)
103 sizePolicy.setHorizontalStretch(0)
104 sizePolicy.setVerticalStretch(0)
105 sizePolicy.setHeightForWidth(self.
label_4.sizePolicy().hasHeightForWidth())
106 self.
label_4.setSizePolicy(sizePolicy)
107 self.
label_4.setMaximumSize(QtCore.QSize(20, 16777215))
108 self.
label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignVCenter)
109 self.
label_4.setObjectName(
"label_4")
112 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Preferred)
113 sizePolicy.setHorizontalStretch(0)
114 sizePolicy.setVerticalStretch(0)
115 sizePolicy.setHeightForWidth(self.
label_5.sizePolicy().hasHeightForWidth())
116 self.
label_5.setSizePolicy(sizePolicy)
117 self.
label_5.setMaximumSize(QtCore.QSize(20, 16777215))
118 self.
label_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
119 self.
label_5.setObjectName(
"label_5")
122 self.
label_6.setObjectName(
"label_6")
125 self.
label_9.setObjectName(
"label_9")
129 self.
line_7.setFrameShape(QtWidgets.QFrame.Shape.HLine)
130 self.
line_7.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
131 self.
line_7.setObjectName(
"line_7")
137 self.
widget_5.setObjectName(
"widget_5")
148 self.
label_3.setMinimumSize(QtCore.QSize(35, 0))
149 self.
label_3.setObjectName(
"label_3")
153 self.
line_3.setFrameShape(QtWidgets.QFrame.Shape.HLine)
154 self.
line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
155 self.
line_3.setObjectName(
"line_3")
158 self.
widget_6.setObjectName(
"widget_6")
181 icon.addPixmap(QtGui.QPixmap(
":/data/icones/process-stop.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
187"QPushButton:disabled{color: #c0c0c0;}")
191 self.
line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
192 self.
line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
193 self.
line.setObjectName(
"line")
200 self.
widget_14.setObjectName(
"widget_14")
205 self.
label_2.setObjectName(
"label_2")
209 font.setPointSize(18)
215 font.setPointSize(18)
221 self.
line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine)
222 self.
line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
223 self.
line_2.setObjectName(
"line_2")
227 self.
widget_7.setObjectName(
"widget_7")
232 self.
label_IPS.setObjectName(
"label_IPS")
235 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed)
236 sizePolicy.setHorizontalStretch(0)
237 sizePolicy.setVerticalStretch(0)
238 sizePolicy.setHeightForWidth(self.
lineEdit_IPS.sizePolicy().hasHeightForWidth())
241 self.
lineEdit_IPS.setMaximumSize(QtCore.QSize(30, 16777215))
246 spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
250 self.
widget_8.setObjectName(
"widget_8")
258 self.
spinBox.setObjectName(
"spinBox")
260 spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
263 spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
267 self.
widget = QtWidgets.QWidget(parent=pointageWidget)
268 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Preferred)
269 sizePolicy.setHorizontalStretch(0)
270 sizePolicy.setVerticalStretch(0)
271 sizePolicy.setHeightForWidth(self.
widget.sizePolicy().hasHeightForWidth())
272 self.
widget.setSizePolicy(sizePolicy)
273 self.
widget.setMinimumSize(QtCore.QSize(10, 0))
274 self.
widget.setObjectName(
"widget")
278 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed)
279 sizePolicy.setHorizontalStretch(0)
280 sizePolicy.setVerticalStretch(0)
281 sizePolicy.setHeightForWidth(self.
widget_2.sizePolicy().hasHeightForWidth())
282 self.
widget_2.setSizePolicy(sizePolicy)
283 self.
widget_2.setMinimumSize(QtCore.QSize(10, 0))
284 self.
widget_2.setObjectName(
"widget_2")
289 icon1 = QtGui.QIcon()
290 icon1.addPixmap(QtGui.QPixmap(
":/data/icones/rotate-ccw.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
297 icon2 = QtGui.QIcon()
298 icon2.addPixmap(QtGui.QPixmap(
":/data/icones/rotate-cw.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
304 self.
label.setObjectName(
"label")
315 icon3 = QtGui.QIcon()
316 icon3.addPixmap(QtGui.QPixmap(
":/data/icones/undo.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
323 icon4 = QtGui.QIcon()
324 icon4.addPixmap(QtGui.QPixmap(
":/data/icones/redo.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
331 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
332 sizePolicy.setHorizontalStretch(0)
333 sizePolicy.setVerticalStretch(0)
334 sizePolicy.setHeightForWidth(self.
video.sizePolicy().hasHeightForWidth())
335 self.
video.setSizePolicy(sizePolicy)
336 self.
video.setMinimumSize(QtCore.QSize(320, 240))
337 self.
video.setToolTipDuration(1500)
338 self.
video.setObjectName(
"video")
342 sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
343 sizePolicy.setHorizontalStretch(0)
344 sizePolicy.setVerticalStretch(0)
345 sizePolicy.setHeightForWidth(self.
imgdimEdit.sizePolicy().hasHeightForWidth())
354 QtCore.QMetaObject.connectSlotsByName(pointageWidget)
356 def retranslateUi(self, pointageWidget):
357 _translate = QtCore.QCoreApplication.translate
358 pointageWidget.setWindowTitle(_translate(
"pointageWidget",
"Pointage"))
359 self.
zoom_zone.setToolTip(_translate(
"pointageWidget",
"Zoom ⨯2 autour du curseur de la souris"))
360 self.
zoomLabel.setText(_translate(
"pointageWidget",
" Zoom autour de x, y ="))
361 self.
editYpx.setToolTip(_translate(
"pointageWidget",
"Ordonnée (pixel)"))
362 self.
editXpx.setToolTip(_translate(
"pointageWidget",
"Abscisse (pixel)"))
363 self.
editYm.setToolTip(_translate(
"pointageWidget",
"Ordonnée (m)"))
364 self.
editXm.setToolTip(_translate(
"pointageWidget",
"Abscisse (m)"))
365 self.
label_4.setText(_translate(
"pointageWidget",
"(px) "))
366 self.
label_5.setText(_translate(
"pointageWidget",
"(m)"))
367 self.
label_6.setText(_translate(
"pointageWidget",
","))
368 self.
label_9.setText(_translate(
"pointageWidget",
","))
369 self.
Bouton_Echelle.setToolTip(_translate(
"pointageWidget",
"Définition de l\'échelle, par tirer-glisser sur l\'image"))
370 self.
Bouton_Echelle.setText(_translate(
"pointageWidget",
"Définir Échelle"))
371 self.
echelleEdit.setToolTip(_translate(
"pointageWidget",
"L\'échelle, en pixel par mètre"))
372 self.
echelleEdit.setText(_translate(
"pointageWidget",
"indéf."))
373 self.
label_3.setText(_translate(
"pointageWidget",
"px/m"))
374 self.
label_nb_de_points.setToolTip(_translate(
"pointageWidget",
"Nombre d\'objets à suivre"))
376 self.
spinBox_objets.setToolTip(_translate(
"pointageWidget",
"Nombre d\'objets à suivre"))
377 self.
checkBox_auto.setToolTip(_translate(
"pointageWidget",
"Activation du pointage automatique"))
378 self.
checkBox_auto.setText(_translate(
"pointageWidget",
"suivi\n"
380 self.
Bouton_lance_capture.setToolTip(_translate(
"pointageWidget",
"Commencer le suivi des objets (manuel ou automatique)"))
384 self.
pushButton_reinit.setToolTip(_translate(
"pointageWidget",
"Supprimer tous les pointages et l\'échelle"))
385 self.
pushButton_reinit.setStatusTip(_translate(
"pointageWidget",
"Supprimer tous les pointages et l\'échelle"))
386 self.
pushButton_reinit.setText(_translate(
"pointageWidget",
"Tout réinitialiser"))
387 self.
pushButton_origine.setToolTip(_translate(
"pointageWidget",
"On peut déplacer l\'origine du repère"))
389 self.
widget_14.setToolTip(_translate(
"pointageWidget",
"Orientation des axes"))
390 self.
label_2.setText(_translate(
"pointageWidget",
"Axes : "))
391 self.
checkBox_ordonnees.setToolTip(_translate(
"pointageWidget",
"Ordonnées vers le bas de l\'écran"))
393 self.
checkBox_abscisses.setToolTip(_translate(
"pointageWidget",
"Abscisses vers la gauche de l\'écran"))
395 self.
widget_7.setToolTip(_translate(
"pointageWidget",
"Le nombre d\'images par seconde est détecté automatiquement. Entrer la valeur manuellement si la détection échoue."))
396 self.
label_IPS.setText(_translate(
"pointageWidget",
"IPS :"))
397 self.
imgno_incr.setToolTip(_translate(
"pointageWidget",
"Incrémenter le compteur d\'image à chaque pointage"))
398 self.
imgno_incr.setStatusTip(_translate(
"pointageWidget",
"Incrémenter le compteur d\'image à chaque pointage"))
399 self.
imgno_incr.setText(_translate(
"pointageWidget",
"Incr :"))
400 self.
spinBox.setToolTip(_translate(
"pointageWidget",
"Incrémenter le compteur d\'image à chaque pointage"))
401 self.
spinBox.setStatusTip(_translate(
"pointageWidget",
"Incrémenter le compteur d\'image à chaque pointage"))
402 self.
pushButton_rot_gauche.setToolTip(_translate(
"pointageWidget",
"Tourner l\'image de 90° vers la gauche"))
403 self.
pushButton_rot_droite.setToolTip(_translate(
"pointageWidget",
"Tourner l\'image de 90° vers la droite"))
404 self.
label.setToolTip(_translate(
"pointageWidget",
"Choix de l\'image dans le film"))
405 self.
label.setText(_translate(
"pointageWidget",
"Image n°"))
406 self.
spinBox_image.setToolTip(_translate(
"pointageWidget",
"Choix de l\'image dans le film"))
407 self.
horizontalSlider.setToolTip(_translate(
"pointageWidget",
"Choix de l\'image dans le film"))
408 self.
pushButton_defait.setToolTip(_translate(
"pointageWidget",
"Efface le point précédent"))
409 self.
pushButton_refait.setToolTip(_translate(
"pointageWidget",
"Rétablit le point suivant"))
410 self.
video.setToolTip(_translate(
"pointageWidget",
"Zone d\'affichage et de pointage ; peut être redimensionnée dans l\'état « initial » seulement"))
411from image_widget
import Zoom
412from videoWidget
import VideoPointeeWidget