개정판 d45df999
issue #655: box modifiable
DTI_PID/DTI_PID/App.py | ||
---|---|---|
46 | 46 |
finally: |
47 | 47 |
file.close() |
48 | 48 |
|
49 |
''' |
|
49 |
'''
|
|
50 | 50 |
@brief create hmb data from database record |
51 | 51 |
@author humkyung |
52 | 52 |
@date 2018.07.12 |
DTI_PID/DTI_PID/Shapes/TrainingBoxItem.py | ||
---|---|---|
44 | 44 |
self.ui = None |
45 | 45 |
self.scene = None |
46 | 46 |
self.view = None |
47 |
self.leftSideView = None |
|
48 |
self.spinBoxFlag = None |
|
47 | 49 |
|
48 | 50 |
self.transfer = Transfer() |
49 | 51 |
|
... | ... | |
96 | 98 |
#QGraphicsRectItem.mouseReleaseEvent(self, event) |
97 | 99 |
|
98 | 100 |
def mousePressEvent(self, event): |
101 |
self.spinBoxFlag = True |
|
99 | 102 |
self.scene.clearSelection() |
100 | 103 |
QGraphicsRectItem.mousePressEvent(self, event) |
101 | 104 |
|
102 | 105 |
rect = self.rect() |
103 | 106 |
self.ui.spinBoxLeft.setValue(round(rect.x())) |
107 |
self.ui.spinBoxTop.setValue(round(rect.y())) |
|
108 |
self.ui.spinBoxWidth.setValue(round(rect.width())) |
|
109 |
self.ui.spinBoxHeight.setValue(round(rect.height())) |
|
110 |
|
|
111 |
rectSide = QRectF(rect.x() - 3, rect.y() - 3, rect.width() + 6, rect.height() + 6) |
|
112 |
bound = self.leftSideView.scene().items()[0] |
|
113 |
bound.setRect(rect) |
|
114 |
self.leftSideView.fitInView(rectSide) |
|
115 |
self.spinBoxFlag = False |
|
104 | 116 |
|
105 | 117 |
def keyPressEvent(self, event): |
106 | 118 |
if event.key() == Qt.Key_Delete: |
... | ... | |
140 | 152 |
if self.isSelected(): |
141 | 153 |
self.drawFocusRect(painter) |
142 | 154 |
|
143 |
def addTextItemToScene(self, ui, view): |
|
155 |
def addTextItemToScene(self, ui, view, leftSideView, spinBoxFlag):
|
|
144 | 156 |
try: |
145 | 157 |
self.ui = ui |
146 | 158 |
self.view = view |
147 | 159 |
self.scene = view.scene |
160 |
self.leftSideView = leftSideView |
|
161 |
self.spinBoxFlag = spinBoxFlag |
|
148 | 162 |
pen = QPen(Qt.SolidLine) |
149 | 163 |
pen.setColor(Qt.red) |
150 | 164 |
pen.setWidthF(1) |
DTI_PID/DTI_PID/TrainingEditorDialog.py | ||
---|---|---|
17 | 17 |
|
18 | 18 |
class QTrainingEditorDialog(QDialog): |
19 | 19 |
def __init__(self, parent): |
20 |
self.spinBoxFlag = False |
|
20 | 21 |
QDialog.__init__(self, parent) |
21 | 22 |
|
22 | 23 |
appDocData = AppDocData.instance() |
... | ... | |
31 | 32 |
self.ui.verticalLayoutTrainingDrawing.addWidget(self.graphicsViewTrainingDrawing) |
32 | 33 |
|
33 | 34 |
self.graphicsViewZoomDrawing = QGraphicsView(self) |
35 |
self.graphicsViewZoomDrawing.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) |
|
36 |
self.graphicsViewZoomDrawing.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) |
|
34 | 37 |
self.graphicsViewZoomDrawing.setParent(self.ui.leftSideWidget) |
35 | 38 |
self.ui.horizontalLayoutZoomDrawing.addWidget(self.graphicsViewZoomDrawing) |
36 | 39 |
|
37 | 40 |
|
38 |
# 학습 이미지 읽어서 메인뷰에 그림
|
|
41 |
# 학습 이미지 읽어서 메인 뷰에 그림, 사이드 뷰에 추가
|
|
39 | 42 |
try: |
40 | 43 |
trainingImgPath = os.path.join(project.getTrainingFilePath(), 'seed.seedF.exp0.tif') |
41 | 44 |
cvImg = cv2.cvtColor(cv2.imread(trainingImgPath), cv2.COLOR_BGR2GRAY) |
... | ... | |
48 | 51 |
#image = QImage(img.data, img.shape[1], img.shape[0], img.shape[1], QImage.Format_Indexed8) |
49 | 52 |
|
50 | 53 |
self.graphicsViewTrainingDrawing.setImage(image) |
54 |
|
|
55 |
# 사이드 뷰 |
|
56 |
if type(image) is QPixmap: |
|
57 |
pixmap = image |
|
58 |
elif type(image) is QImage: |
|
59 |
pixmap = QPixmap.fromImage(image) |
|
60 |
scene = QGraphicsScene() |
|
61 |
self.graphicsViewZoomDrawing.setScene(scene) |
|
62 |
self._pixmapHandle = self.graphicsViewZoomDrawing.scene().addPixmap(pixmap) |
|
63 |
rect = QGraphicsRectItem(0, 0, 0, 0) |
|
64 |
pen = QPen(Qt.SolidLine) |
|
65 |
pen.setColor(Qt.green) |
|
66 |
pen.setWidthF(1) |
|
67 |
pen.setJoinStyle(Qt.MiterJoin) |
|
68 |
rect.setPen(pen) |
|
69 |
self.graphicsViewZoomDrawing.scene().addItem(rect) |
|
70 |
|
|
51 | 71 |
except Exception as ex: |
52 | 72 |
print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)) |
53 | 73 |
|
54 |
# 박스 읽어서 메인뷰에 그림 |
|
74 |
# 박스 읽어서 메인 뷰에 그림
|
|
55 | 75 |
try: |
56 | 76 |
trainingBoxPath = os.path.join(project.getTrainingFilePath(), 'seed.seedF.exp0.box') |
57 | 77 |
fBox = open(trainingBoxPath, 'r', encoding='utf8') |
... | ... | |
68 | 88 |
singleBox.angle = 0 |
69 | 89 |
#singleBox.setPlainText(boxComponent[0]) |
70 | 90 |
singleBox.transfer.onRemoved.connect(self.itemRemoved) |
71 |
singleBox.addTextItemToScene(self.ui, self.graphicsViewTrainingDrawing) |
|
91 |
singleBox.addTextItemToScene(self.ui, self.graphicsViewTrainingDrawing, self.graphicsViewZoomDrawing, self.spinBoxFlag)
|
|
72 | 92 |
|
73 | 93 |
except Exception as ex: |
74 | 94 |
print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)) |
75 | 95 |
|
76 |
# 확대뷰 생성 |
|
77 |
try: |
|
78 |
Image.new |
|
79 |
except Exception as ex: |
|
80 |
print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)) |
|
81 |
|
|
82 |
|
|
83 | 96 |
#'''test''' |
84 | 97 |
#item = QGraphicsBoundingBoxItem(0, 0, 30, 30) |
85 | 98 |
#item.isSymbol = True |
... | ... | |
90 | 103 |
self.removedItems = [] |
91 | 104 |
|
92 | 105 |
self.ui.pushButtonZoom.clicked.connect(self.onAreaZoom) |
93 |
self.ui.spinBoxLeft.valueChanged.connect(self.spinBoxLeftChangeedEvent) |
|
106 |
self.ui.spinBoxLeft.valueChanged.connect(self.spinBoxChangedEvent) |
|
107 |
self.ui.spinBoxTop.valueChanged.connect(self.spinBoxChangedEvent) |
|
108 |
self.ui.spinBoxWidth.valueChanged.connect(self.spinBoxChangedEvent) |
|
109 |
self.ui.spinBoxHeight.valueChanged.connect(self.spinBoxChangedEvent) |
|
94 | 110 |
|
95 |
def spinBoxLeftChangeedEvent(self, event): |
|
96 |
left = self.ui.spinBoxLeft.value() |
|
111 |
def spinBoxChangedEvent(self, event): |
|
97 | 112 |
items = self.graphicsViewTrainingDrawing.scene.selectedItems() |
98 |
if(len(items) is not 1): |
|
113 |
if(len(items) is not 1) or self.spinBoxFlag:
|
|
99 | 114 |
return |
115 |
|
|
116 |
spinBoxName = self.sender().objectName() |
|
100 | 117 |
rect = items[0].rect() |
101 |
items[0].setRect(QRectF(left, rect.y(), rect.width(), rect.height())) |
|
118 |
bound = self.graphicsViewZoomDrawing.scene().items()[0] |
|
119 |
|
|
120 |
if spinBoxName == 'spinBoxLeft': |
|
121 |
spinBoxValue = self.ui.spinBoxLeft.value() |
|
122 |
items[0].setRect(QRectF(spinBoxValue, rect.y(), rect.width(), rect.height())) |
|
123 |
elif spinBoxName == 'spinBoxTop': |
|
124 |
spinBoxValue = self.ui.spinBoxTop.value() |
|
125 |
items[0].setRect(QRectF(rect.x(), spinBoxValue, rect.width(), rect.height())) |
|
126 |
elif spinBoxName == 'spinBoxWidth': |
|
127 |
spinBoxValue = self.ui.spinBoxWidth.value() |
|
128 |
items[0].setRect(QRectF(rect.x(), rect.y(), spinBoxValue, rect.height())) |
|
129 |
elif spinBoxName == 'spinBoxHeight': |
|
130 |
spinBoxValue = self.ui.spinBoxHeight.value() |
|
131 |
items[0].setRect(QRectF(rect.x(), rect.y(), rect.width(), spinBoxValue)) |
|
132 |
|
|
133 |
rect = items[0].rect() |
|
134 |
bound.setRect(rect) |
|
135 |
rectSide = QRectF(rect.x() -3, rect.y() -3, rect.width() +6, rect.height() +6) |
|
136 |
self.graphicsViewZoomDrawing.fitInView(rectSide) |
|
102 | 137 |
self.graphicsViewTrainingDrawing.scene.update() |
103 | 138 |
|
104 | 139 |
def onAreaZoom(self, action): |
DTI_PID/DTI_PID/TrainingEditor_UI.py | ||
---|---|---|
18 | 18 |
self.verticalLayout_6.setObjectName("verticalLayout_6") |
19 | 19 |
self.horizontalLayout_2 = QtWidgets.QHBoxLayout() |
20 | 20 |
self.horizontalLayout_2.setObjectName("horizontalLayout_2") |
21 |
self.pushButton = QtWidgets.QPushButton(TrainingEditorDialog) |
|
22 |
self.pushButton.setMinimumSize(QtCore.QSize(32, 64)) |
|
23 |
self.pushButton.setMaximumSize(QtCore.QSize(32, 64)) |
|
24 |
self.pushButton.setObjectName("pushButton") |
|
25 |
self.horizontalLayout_2.addWidget(self.pushButton) |
|
26 |
self.verticalLayout = QtWidgets.QVBoxLayout() |
|
27 |
self.verticalLayout.setObjectName("verticalLayout") |
|
28 |
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) |
|
29 |
self.verticalLayout.addItem(spacerItem) |
|
30 |
self.lineEdit = QtWidgets.QLineEdit(TrainingEditorDialog) |
|
31 |
self.lineEdit.setObjectName("lineEdit") |
|
32 |
self.verticalLayout.addWidget(self.lineEdit) |
|
33 |
self.label = QtWidgets.QLabel(TrainingEditorDialog) |
|
34 |
self.label.setMaximumSize(QtCore.QSize(16777215, 32)) |
|
35 |
self.label.setObjectName("label") |
|
36 |
self.verticalLayout.addWidget(self.label) |
|
37 |
self.horizontalLayout_2.addLayout(self.verticalLayout) |
|
38 |
self.pushButton_2 = QtWidgets.QPushButton(TrainingEditorDialog) |
|
39 |
self.pushButton_2.setMinimumSize(QtCore.QSize(32, 64)) |
|
40 |
self.pushButton_2.setMaximumSize(QtCore.QSize(32, 64)) |
|
41 |
self.pushButton_2.setObjectName("pushButton_2") |
|
42 |
self.horizontalLayout_2.addWidget(self.pushButton_2) |
|
43 |
self.pushButtonZoom = QtWidgets.QPushButton(TrainingEditorDialog) |
|
44 |
self.pushButtonZoom.setToolTip("") |
|
45 |
self.pushButtonZoom.setCheckable(True) |
|
46 |
self.pushButtonZoom.setObjectName("pushButtonZoom") |
|
47 |
self.horizontalLayout_2.addWidget(self.pushButtonZoom) |
|
48 |
self.pushButton_4 = QtWidgets.QPushButton(TrainingEditorDialog) |
|
49 |
self.pushButton_4.setObjectName("pushButton_4") |
|
50 |
self.horizontalLayout_2.addWidget(self.pushButton_4) |
|
51 | 21 |
self.verticalLayout_2 = QtWidgets.QVBoxLayout() |
52 | 22 |
self.verticalLayout_2.setObjectName("verticalLayout_2") |
53 | 23 |
self.checkBox_2 = QtWidgets.QCheckBox(TrainingEditorDialog) |
... | ... | |
59 | 29 |
self.checkBox.setObjectName("checkBox") |
60 | 30 |
self.verticalLayout_2.addWidget(self.checkBox) |
61 | 31 |
self.horizontalLayout_2.addLayout(self.verticalLayout_2) |
32 |
self.pushButtonZoom = QtWidgets.QPushButton(TrainingEditorDialog) |
|
33 |
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) |
|
34 |
sizePolicy.setHorizontalStretch(0) |
|
35 |
sizePolicy.setVerticalStretch(0) |
|
36 |
sizePolicy.setHeightForWidth(self.pushButtonZoom.sizePolicy().hasHeightForWidth()) |
|
37 |
self.pushButtonZoom.setSizePolicy(sizePolicy) |
|
38 |
self.pushButtonZoom.setMinimumSize(QtCore.QSize(64, 64)) |
|
39 |
self.pushButtonZoom.setToolTip("") |
|
40 |
self.pushButtonZoom.setCheckable(True) |
|
41 |
self.pushButtonZoom.setObjectName("pushButtonZoom") |
|
42 |
self.horizontalLayout_2.addWidget(self.pushButtonZoom) |
|
62 | 43 |
self.pushButton_5 = QtWidgets.QPushButton(TrainingEditorDialog) |
44 |
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) |
|
45 |
sizePolicy.setHorizontalStretch(0) |
|
46 |
sizePolicy.setVerticalStretch(0) |
|
47 |
sizePolicy.setHeightForWidth(self.pushButton_5.sizePolicy().hasHeightForWidth()) |
|
48 |
self.pushButton_5.setSizePolicy(sizePolicy) |
|
49 |
self.pushButton_5.setMinimumSize(QtCore.QSize(80, 32)) |
|
63 | 50 |
self.pushButton_5.setObjectName("pushButton_5") |
64 | 51 |
self.horizontalLayout_2.addWidget(self.pushButton_5) |
65 | 52 |
self.pushButton_6 = QtWidgets.QPushButton(TrainingEditorDialog) |
53 |
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) |
|
54 |
sizePolicy.setHorizontalStretch(0) |
|
55 |
sizePolicy.setVerticalStretch(0) |
|
56 |
sizePolicy.setHeightForWidth(self.pushButton_6.sizePolicy().hasHeightForWidth()) |
|
57 |
self.pushButton_6.setSizePolicy(sizePolicy) |
|
58 |
self.pushButton_6.setMinimumSize(QtCore.QSize(80, 32)) |
|
66 | 59 |
self.pushButton_6.setObjectName("pushButton_6") |
67 | 60 |
self.horizontalLayout_2.addWidget(self.pushButton_6) |
68 | 61 |
self.pushButton_7 = QtWidgets.QPushButton(TrainingEditorDialog) |
62 |
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) |
|
63 |
sizePolicy.setHorizontalStretch(0) |
|
64 |
sizePolicy.setVerticalStretch(0) |
|
65 |
sizePolicy.setHeightForWidth(self.pushButton_7.sizePolicy().hasHeightForWidth()) |
|
66 |
self.pushButton_7.setSizePolicy(sizePolicy) |
|
67 |
self.pushButton_7.setMinimumSize(QtCore.QSize(80, 32)) |
|
69 | 68 |
self.pushButton_7.setObjectName("pushButton_7") |
70 | 69 |
self.horizontalLayout_2.addWidget(self.pushButton_7) |
71 | 70 |
self.pushButton_8 = QtWidgets.QPushButton(TrainingEditorDialog) |
71 |
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) |
|
72 |
sizePolicy.setHorizontalStretch(0) |
|
73 |
sizePolicy.setVerticalStretch(0) |
|
74 |
sizePolicy.setHeightForWidth(self.pushButton_8.sizePolicy().hasHeightForWidth()) |
|
75 |
self.pushButton_8.setSizePolicy(sizePolicy) |
|
76 |
self.pushButton_8.setMinimumSize(QtCore.QSize(80, 32)) |
|
72 | 77 |
self.pushButton_8.setObjectName("pushButton_8") |
73 | 78 |
self.horizontalLayout_2.addWidget(self.pushButton_8) |
74 | 79 |
self.pushButton_9 = QtWidgets.QPushButton(TrainingEditorDialog) |
80 |
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) |
|
81 |
sizePolicy.setHorizontalStretch(0) |
|
82 |
sizePolicy.setVerticalStretch(0) |
|
83 |
sizePolicy.setHeightForWidth(self.pushButton_9.sizePolicy().hasHeightForWidth()) |
|
84 |
self.pushButton_9.setSizePolicy(sizePolicy) |
|
85 |
self.pushButton_9.setMinimumSize(QtCore.QSize(80, 32)) |
|
75 | 86 |
self.pushButton_9.setObjectName("pushButton_9") |
76 | 87 |
self.horizontalLayout_2.addWidget(self.pushButton_9) |
77 | 88 |
self.pushButton_10 = QtWidgets.QPushButton(TrainingEditorDialog) |
89 |
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) |
|
90 |
sizePolicy.setHorizontalStretch(0) |
|
91 |
sizePolicy.setVerticalStretch(0) |
|
92 |
sizePolicy.setHeightForWidth(self.pushButton_10.sizePolicy().hasHeightForWidth()) |
|
93 |
self.pushButton_10.setSizePolicy(sizePolicy) |
|
94 |
self.pushButton_10.setMinimumSize(QtCore.QSize(80, 32)) |
|
78 | 95 |
self.pushButton_10.setObjectName("pushButton_10") |
79 | 96 |
self.horizontalLayout_2.addWidget(self.pushButton_10) |
97 |
spacerItem = QtWidgets.QSpacerItem(1000, 20, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum) |
|
98 |
self.horizontalLayout_2.addItem(spacerItem) |
|
80 | 99 |
self.pushButton_12 = QtWidgets.QPushButton(TrainingEditorDialog) |
81 |
self.pushButton_12.setMinimumSize(QtCore.QSize(32, 64))
|
|
100 |
self.pushButton_12.setMinimumSize(QtCore.QSize(35, 64))
|
|
82 | 101 |
self.pushButton_12.setMaximumSize(QtCore.QSize(32, 64)) |
83 | 102 |
self.pushButton_12.setObjectName("pushButton_12") |
84 | 103 |
self.horizontalLayout_2.addWidget(self.pushButton_12) |
... | ... | |
87 | 106 |
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) |
88 | 107 |
self.verticalLayout_3.addItem(spacerItem1) |
89 | 108 |
self.lineEdit_2 = QtWidgets.QLineEdit(TrainingEditorDialog) |
109 |
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) |
|
110 |
sizePolicy.setHorizontalStretch(0) |
|
111 |
sizePolicy.setVerticalStretch(0) |
|
112 |
sizePolicy.setHeightForWidth(self.lineEdit_2.sizePolicy().hasHeightForWidth()) |
|
113 |
self.lineEdit_2.setSizePolicy(sizePolicy) |
|
114 |
self.lineEdit_2.setMaximumSize(QtCore.QSize(100, 16777215)) |
|
90 | 115 |
self.lineEdit_2.setObjectName("lineEdit_2") |
91 | 116 |
self.verticalLayout_3.addWidget(self.lineEdit_2) |
92 | 117 |
self.label_2 = QtWidgets.QLabel(TrainingEditorDialog) |
93 |
self.label_2.setMaximumSize(QtCore.QSize(16777215, 32)) |
|
118 |
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) |
|
119 |
sizePolicy.setHorizontalStretch(0) |
|
120 |
sizePolicy.setVerticalStretch(0) |
|
121 |
sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) |
|
122 |
self.label_2.setSizePolicy(sizePolicy) |
|
123 |
self.label_2.setMaximumSize(QtCore.QSize(100, 32)) |
|
124 |
self.label_2.setAlignment(QtCore.Qt.AlignCenter) |
|
94 | 125 |
self.label_2.setObjectName("label_2") |
95 | 126 |
self.verticalLayout_3.addWidget(self.label_2) |
96 | 127 |
self.horizontalLayout_2.addLayout(self.verticalLayout_3) |
97 | 128 |
self.pushButton_11 = QtWidgets.QPushButton(TrainingEditorDialog) |
98 |
self.pushButton_11.setMinimumSize(QtCore.QSize(32, 64))
|
|
129 |
self.pushButton_11.setMinimumSize(QtCore.QSize(35, 64))
|
|
99 | 130 |
self.pushButton_11.setMaximumSize(QtCore.QSize(32, 64)) |
100 | 131 |
self.pushButton_11.setObjectName("pushButton_11") |
101 | 132 |
self.horizontalLayout_2.addWidget(self.pushButton_11) |
... | ... | |
204 | 235 |
def retranslateUi(self, TrainingEditorDialog): |
205 | 236 |
_translate = QtCore.QCoreApplication.translate |
206 | 237 |
TrainingEditorDialog.setWindowTitle(_translate("TrainingEditorDialog", "Training Editor")) |
207 |
self.pushButton.setText(_translate("TrainingEditorDialog", "PushButton")) |
|
208 |
self.label.setText(_translate("TrainingEditorDialog", "TextLabel")) |
|
209 |
self.pushButton_2.setText(_translate("TrainingEditorDialog", "PushButton")) |
|
210 |
self.pushButtonZoom.setText(_translate("TrainingEditorDialog", "확대")) |
|
211 |
self.pushButton_4.setText(_translate("TrainingEditorDialog", "PushButton")) |
|
212 | 238 |
self.checkBox_2.setText(_translate("TrainingEditorDialog", "CheckBox")) |
213 | 239 |
self.checkBox.setText(_translate("TrainingEditorDialog", "CheckBox")) |
240 |
self.pushButtonZoom.setText(_translate("TrainingEditorDialog", "확대")) |
|
214 | 241 |
self.pushButton_5.setText(_translate("TrainingEditorDialog", "PushButton")) |
215 | 242 |
self.pushButton_6.setText(_translate("TrainingEditorDialog", "PushButton")) |
216 | 243 |
self.pushButton_7.setText(_translate("TrainingEditorDialog", "PushButton")) |
217 | 244 |
self.pushButton_8.setText(_translate("TrainingEditorDialog", "PushButton")) |
218 | 245 |
self.pushButton_9.setText(_translate("TrainingEditorDialog", "PushButton")) |
219 | 246 |
self.pushButton_10.setText(_translate("TrainingEditorDialog", "PushButton")) |
220 |
self.pushButton_12.setText(_translate("TrainingEditorDialog", "PushButton"))
|
|
221 |
self.label_2.setText(_translate("TrainingEditorDialog", "TextLabel"))
|
|
222 |
self.pushButton_11.setText(_translate("TrainingEditorDialog", "PushButton"))
|
|
247 |
self.pushButton_12.setText(_translate("TrainingEditorDialog", "Pre"))
|
|
248 |
self.label_2.setText(_translate("TrainingEditorDialog", "Boxes"))
|
|
249 |
self.pushButton_11.setText(_translate("TrainingEditorDialog", "Next"))
|
|
223 | 250 |
self.label_3.setText(_translate("TrainingEditorDialog", "Left")) |
224 | 251 |
self.label_6.setText(_translate("TrainingEditorDialog", "Top")) |
225 | 252 |
self.label_5.setText(_translate("TrainingEditorDialog", "Width")) |
DTI_PID/DTI_PID/UI/TrainingEditor.ui | ||
---|---|---|
19 | 19 |
<item> |
20 | 20 |
<layout class="QHBoxLayout" name="horizontalLayout_2"> |
21 | 21 |
<item> |
22 |
<widget class="QPushButton" name="pushButton"> |
|
23 |
<property name="minimumSize"> |
|
24 |
<size> |
|
25 |
<width>32</width> |
|
26 |
<height>64</height> |
|
27 |
</size> |
|
28 |
</property> |
|
29 |
<property name="maximumSize"> |
|
30 |
<size> |
|
31 |
<width>32</width> |
|
32 |
<height>64</height> |
|
33 |
</size> |
|
34 |
</property> |
|
35 |
<property name="text"> |
|
36 |
<string>PushButton</string> |
|
37 |
</property> |
|
38 |
</widget> |
|
39 |
</item> |
|
40 |
<item> |
|
41 |
<layout class="QVBoxLayout" name="verticalLayout"> |
|
22 |
<layout class="QVBoxLayout" name="verticalLayout_2"> |
|
42 | 23 |
<item> |
43 |
<spacer name="horizontalSpacer"> |
|
44 |
<property name="orientation"> |
|
45 |
<enum>Qt::Horizontal</enum> |
|
46 |
</property> |
|
47 |
<property name="sizeType"> |
|
48 |
<enum>QSizePolicy::Expanding</enum> |
|
49 |
</property> |
|
50 |
<property name="sizeHint" stdset="0"> |
|
24 |
<widget class="QCheckBox" name="checkBox_2"> |
|
25 |
<property name="maximumSize"> |
|
51 | 26 |
<size> |
52 |
<width>40</width>
|
|
53 |
<height>20</height>
|
|
27 |
<width>16777215</width>
|
|
28 |
<height>32</height>
|
|
54 | 29 |
</size> |
55 | 30 |
</property> |
56 |
</spacer>
|
|
57 |
</item>
|
|
58 |
<item>
|
|
59 |
<widget class="QLineEdit" name="lineEdit"/>
|
|
31 |
<property name="text">
|
|
32 |
<string>CheckBox</string>
|
|
33 |
</property>
|
|
34 |
</widget>
|
|
60 | 35 |
</item> |
61 | 36 |
<item> |
62 |
<widget class="QLabel" name="label">
|
|
37 |
<widget class="QCheckBox" name="checkBox">
|
|
63 | 38 |
<property name="maximumSize"> |
64 | 39 |
<size> |
65 | 40 |
<width>16777215</width> |
... | ... | |
67 | 42 |
</size> |
68 | 43 |
</property> |
69 | 44 |
<property name="text"> |
70 |
<string>TextLabel</string>
|
|
45 |
<string>CheckBox</string>
|
|
71 | 46 |
</property> |
72 | 47 |
</widget> |
73 | 48 |
</item> |
74 | 49 |
</layout> |
75 | 50 |
</item> |
76 | 51 |
<item> |
77 |
<widget class="QPushButton" name="pushButton_2"> |
|
78 |
<property name="minimumSize"> |
|
79 |
<size> |
|
80 |
<width>32</width> |
|
81 |
<height>64</height> |
|
82 |
</size> |
|
83 |
</property> |
|
84 |
<property name="maximumSize"> |
|
85 |
<size> |
|
86 |
<width>32</width> |
|
87 |
<height>64</height> |
|
88 |
</size> |
|
89 |
</property> |
|
90 |
<property name="text"> |
|
91 |
<string>PushButton</string> |
|
92 |
</property> |
|
93 |
</widget> |
|
94 |
</item> |
|
95 |
<item> |
|
96 | 52 |
<widget class="QPushButton" name="pushButtonZoom"> |
53 |
<property name="sizePolicy"> |
|
54 |
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> |
|
55 |
<horstretch>0</horstretch> |
|
56 |
<verstretch>0</verstretch> |
|
57 |
</sizepolicy> |
|
58 |
</property> |
|
97 | 59 |
<property name="minimumSize"> |
98 | 60 |
<size> |
99 | 61 |
<width>64</width> |
... | ... | |
112 | 74 |
</widget> |
113 | 75 |
</item> |
114 | 76 |
<item> |
115 |
<layout class="QVBoxLayout" name="verticalLayout_2"> |
|
116 |
<item> |
|
117 |
<widget class="QCheckBox" name="checkBox_2"> |
|
118 |
<property name="maximumSize"> |
|
119 |
<size> |
|
120 |
<width>16777215</width> |
|
121 |
<height>32</height> |
|
122 |
</size> |
|
123 |
</property> |
|
124 |
<property name="text"> |
|
125 |
<string>CheckBox</string> |
|
126 |
</property> |
|
127 |
</widget> |
|
128 |
</item> |
|
129 |
<item> |
|
130 |
<widget class="QCheckBox" name="checkBox"> |
|
131 |
<property name="maximumSize"> |
|
132 |
<size> |
|
133 |
<width>16777215</width> |
|
134 |
<height>32</height> |
|
135 |
</size> |
|
136 |
</property> |
|
137 |
<property name="text"> |
|
138 |
<string>CheckBox</string> |
|
139 |
</property> |
|
140 |
</widget> |
|
141 |
</item> |
|
142 |
</layout> |
|
143 |
</item> |
|
144 |
<item> |
|
145 | 77 |
<widget class="QPushButton" name="pushButton_5"> |
78 |
<property name="sizePolicy"> |
|
79 |
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> |
|
80 |
<horstretch>0</horstretch> |
|
81 |
<verstretch>0</verstretch> |
|
82 |
</sizepolicy> |
|
83 |
</property> |
|
84 |
<property name="minimumSize"> |
|
85 |
<size> |
|
86 |
<width>80</width> |
|
87 |
<height>32</height> |
|
88 |
</size> |
|
89 |
</property> |
|
146 | 90 |
<property name="text"> |
147 | 91 |
<string>PushButton</string> |
148 | 92 |
</property> |
... | ... | |
150 | 94 |
</item> |
151 | 95 |
<item> |
152 | 96 |
<widget class="QPushButton" name="pushButton_6"> |
97 |
<property name="sizePolicy"> |
|
98 |
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> |
|
99 |
<horstretch>0</horstretch> |
|
100 |
<verstretch>0</verstretch> |
|
101 |
</sizepolicy> |
|
102 |
</property> |
|
103 |
<property name="minimumSize"> |
|
104 |
<size> |
|
105 |
<width>80</width> |
|
106 |
<height>32</height> |
|
107 |
</size> |
|
108 |
</property> |
|
153 | 109 |
<property name="text"> |
154 | 110 |
<string>PushButton</string> |
155 | 111 |
</property> |
... | ... | |
157 | 113 |
</item> |
158 | 114 |
<item> |
159 | 115 |
<widget class="QPushButton" name="pushButton_7"> |
116 |
<property name="sizePolicy"> |
|
117 |
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> |
|
118 |
<horstretch>0</horstretch> |
|
119 |
<verstretch>0</verstretch> |
|
120 |
</sizepolicy> |
|
121 |
</property> |
|
122 |
<property name="minimumSize"> |
|
123 |
<size> |
|
124 |
<width>80</width> |
|
125 |
<height>32</height> |
|
126 |
</size> |
|
127 |
</property> |
|
160 | 128 |
<property name="text"> |
161 | 129 |
<string>PushButton</string> |
162 | 130 |
</property> |
... | ... | |
164 | 132 |
</item> |
165 | 133 |
<item> |
166 | 134 |
<widget class="QPushButton" name="pushButton_8"> |
135 |
<property name="sizePolicy"> |
|
136 |
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> |
|
137 |
<horstretch>0</horstretch> |
|
138 |
<verstretch>0</verstretch> |
|
139 |
</sizepolicy> |
|
140 |
</property> |
|
141 |
<property name="minimumSize"> |
|
142 |
<size> |
|
143 |
<width>80</width> |
|
144 |
<height>32</height> |
|
145 |
</size> |
|
146 |
</property> |
|
167 | 147 |
<property name="text"> |
168 | 148 |
<string>PushButton</string> |
169 | 149 |
</property> |
... | ... | |
171 | 151 |
</item> |
172 | 152 |
<item> |
173 | 153 |
<widget class="QPushButton" name="pushButton_9"> |
154 |
<property name="sizePolicy"> |
|
155 |
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> |
|
156 |
<horstretch>0</horstretch> |
|
157 |
<verstretch>0</verstretch> |
|
158 |
</sizepolicy> |
|
159 |
</property> |
|
160 |
<property name="minimumSize"> |
|
161 |
<size> |
|
162 |
<width>80</width> |
|
163 |
<height>32</height> |
|
164 |
</size> |
|
165 |
</property> |
|
174 | 166 |
<property name="text"> |
175 | 167 |
<string>PushButton</string> |
176 | 168 |
</property> |
... | ... | |
178 | 170 |
</item> |
179 | 171 |
<item> |
180 | 172 |
<widget class="QPushButton" name="pushButton_10"> |
173 |
<property name="sizePolicy"> |
|
174 |
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> |
|
175 |
<horstretch>0</horstretch> |
|
176 |
<verstretch>0</verstretch> |
|
177 |
</sizepolicy> |
|
178 |
</property> |
|
179 |
<property name="minimumSize"> |
|
180 |
<size> |
|
181 |
<width>80</width> |
|
182 |
<height>32</height> |
|
183 |
</size> |
|
184 |
</property> |
|
181 | 185 |
<property name="text"> |
182 | 186 |
<string>PushButton</string> |
183 | 187 |
</property> |
184 | 188 |
</widget> |
185 | 189 |
</item> |
186 | 190 |
<item> |
191 |
<spacer name="horizontalSpacer"> |
|
192 |
<property name="orientation"> |
|
193 |
<enum>Qt::Horizontal</enum> |
|
194 |
</property> |
|
195 |
<property name="sizeType"> |
|
196 |
<enum>QSizePolicy::Maximum</enum> |
|
197 |
</property> |
|
198 |
<property name="sizeHint" stdset="0"> |
|
199 |
<size> |
|
200 |
<width>1000</width> |
|
201 |
<height>20</height> |
|
202 |
</size> |
|
203 |
</property> |
|
204 |
</spacer> |
|
205 |
</item> |
|
206 |
<item> |
|
187 | 207 |
<widget class="QPushButton" name="pushButton_12"> |
188 | 208 |
<property name="minimumSize"> |
189 | 209 |
<size> |
190 |
<width>32</width>
|
|
210 |
<width>35</width>
|
|
191 | 211 |
<height>64</height> |
192 | 212 |
</size> |
193 | 213 |
</property> |
... | ... | |
198 | 218 |
</size> |
199 | 219 |
</property> |
200 | 220 |
<property name="text"> |
201 |
<string>PushButton</string>
|
|
221 |
<string>Pre</string>
|
|
202 | 222 |
</property> |
203 | 223 |
</widget> |
204 | 224 |
</item> |
... | ... | |
218 | 238 |
</spacer> |
219 | 239 |
</item> |
220 | 240 |
<item> |
221 |
<widget class="QLineEdit" name="lineEdit_2"/> |
|
241 |
<widget class="QLineEdit" name="lineEdit_2"> |
|
242 |
<property name="sizePolicy"> |
|
243 |
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> |
|
244 |
<horstretch>0</horstretch> |
|
245 |
<verstretch>0</verstretch> |
|
246 |
</sizepolicy> |
|
247 |
</property> |
|
248 |
<property name="maximumSize"> |
|
249 |
<size> |
|
250 |
<width>100</width> |
|
251 |
<height>16777215</height> |
|
252 |
</size> |
|
253 |
</property> |
|
254 |
</widget> |
|
222 | 255 |
</item> |
223 | 256 |
<item> |
224 | 257 |
<widget class="QLabel" name="label_2"> |
258 |
<property name="sizePolicy"> |
|
259 |
<sizepolicy hsizetype="Fixed" vsizetype="Preferred"> |
|
260 |
<horstretch>0</horstretch> |
|
261 |
<verstretch>0</verstretch> |
|
262 |
</sizepolicy> |
|
263 |
</property> |
|
225 | 264 |
<property name="maximumSize"> |
226 | 265 |
<size> |
227 |
<width>16777215</width>
|
|
266 |
<width>100</width>
|
|
228 | 267 |
<height>32</height> |
229 | 268 |
</size> |
230 | 269 |
</property> |
231 | 270 |
<property name="text"> |
232 |
<string>TextLabel</string> |
|
271 |
<string>Boxes</string> |
|
272 |
</property> |
|
273 |
<property name="alignment"> |
|
274 |
<set>Qt::AlignCenter</set> |
|
233 | 275 |
</property> |
234 | 276 |
</widget> |
235 | 277 |
</item> |
... | ... | |
239 | 281 |
<widget class="QPushButton" name="pushButton_11"> |
240 | 282 |
<property name="minimumSize"> |
241 | 283 |
<size> |
242 |
<width>32</width>
|
|
284 |
<width>35</width>
|
|
243 | 285 |
<height>64</height> |
244 | 286 |
</size> |
245 | 287 |
</property> |
... | ... | |
250 | 292 |
</size> |
251 | 293 |
</property> |
252 | 294 |
<property name="text"> |
253 |
<string>PushButton</string>
|
|
295 |
<string>Next</string>
|
|
254 | 296 |
</property> |
255 | 297 |
</widget> |
256 | 298 |
</item> |
내보내기 Unified diff