mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-04-20 17:50:17 +00:00
wip: DeviceV2 ocr support
This commit is contained in:
parent
0126ce6b9a
commit
044a8eb07a
@ -13,155 +13,146 @@
|
||||
<property name="windowTitle">
|
||||
<string>OcrQueue</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string>ocr.title</string>
|
||||
<string>ocr.queue.title</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string>ocr.queue.title</string>
|
||||
<widget class="QPushButton" name="ocr_addImageButton">
|
||||
<property name="text">
|
||||
<string>ocr.queue.addImageButton</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="ocr_addImageButton">
|
||||
<property name="text">
|
||||
<string>ocr.queue.addImageButton</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ocr_removeSelectedButton">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ocr.queue.removeSelected</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ocr_removeAllButton">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ocr.queue.removeAll</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ocr_startButton">
|
||||
<property name="text">
|
||||
<string>ocr.queue.startOcrButton</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QTableView" name="tableView">
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::MultiSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
<property name="verticalScrollMode">
|
||||
<enum>QAbstractItemView::ScrollPerPixel</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollMode">
|
||||
<enum>QAbstractItemView::ScrollPerPixel</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string notr="true">%v/%m - %p%</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<widget class="QPushButton" name="ocr_removeSelectedButton">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ocr.queue.removeSelected</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_5">
|
||||
<property name="title">
|
||||
<string>ocr.results</string>
|
||||
<widget class="QPushButton" name="ocr_removeAllButton">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ocr.queue.removeAll</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ocr_startButton">
|
||||
<property name="text">
|
||||
<string>ocr.queue.startOcrButton</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QTableView" name="tableView">
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::MultiSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
<property name="verticalScrollMode">
|
||||
<enum>QAbstractItemView::ScrollPerPixel</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollMode">
|
||||
<enum>QAbstractItemView::ScrollPerPixel</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string notr="true">%v/%m - %p%</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_5">
|
||||
<property name="title">
|
||||
<string>ocr.results</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QPushButton" name="ocr_acceptSelectedButton">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ocr.results.acceptSelectedButton</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ocr_acceptAllButton">
|
||||
<property name="text">
|
||||
<string>ocr.results.acceptAllButton</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="ocr_ignoreValidateCheckBox">
|
||||
<property name="text">
|
||||
<string>ocr.results.ignoreValidate</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QPushButton" name="ocr_acceptSelectedButton">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ocr.results.acceptSelectedButton</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ocr_acceptAllButton">
|
||||
<property name="text">
|
||||
<string>ocr.results.acceptAllButton</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="ocr_ignoreValidateCheckBox">
|
||||
<property name="text">
|
||||
<string>ocr.results.ignoreValidate</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -25,13 +25,9 @@ class Ui_OcrQueue(object):
|
||||
if not OcrQueue.objectName():
|
||||
OcrQueue.setObjectName(u"OcrQueue")
|
||||
OcrQueue.resize(741, 372)
|
||||
self.verticalLayout = QVBoxLayout(OcrQueue)
|
||||
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||
self.groupBox_2 = QGroupBox(OcrQueue)
|
||||
self.groupBox_2.setObjectName(u"groupBox_2")
|
||||
self.horizontalLayout = QHBoxLayout(self.groupBox_2)
|
||||
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||
self.groupBox_3 = QGroupBox(self.groupBox_2)
|
||||
self.horizontalLayout_2 = QHBoxLayout(OcrQueue)
|
||||
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||
self.groupBox_3 = QGroupBox(OcrQueue)
|
||||
self.groupBox_3.setObjectName(u"groupBox_3")
|
||||
self.verticalLayout_2 = QVBoxLayout(self.groupBox_3)
|
||||
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
|
||||
@ -62,11 +58,11 @@ class Ui_OcrQueue(object):
|
||||
self.verticalLayout_2.addWidget(self.ocr_startButton)
|
||||
|
||||
|
||||
self.horizontalLayout.addWidget(self.groupBox_3)
|
||||
self.horizontalLayout_2.addWidget(self.groupBox_3)
|
||||
|
||||
self.verticalLayout_3 = QVBoxLayout()
|
||||
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
|
||||
self.tableView = QTableView(self.groupBox_2)
|
||||
self.tableView = QTableView(OcrQueue)
|
||||
self.tableView.setObjectName(u"tableView")
|
||||
self.tableView.setEditTriggers(QAbstractItemView.DoubleClicked|QAbstractItemView.EditKeyPressed)
|
||||
self.tableView.setSelectionMode(QAbstractItemView.MultiSelection)
|
||||
@ -76,7 +72,7 @@ class Ui_OcrQueue(object):
|
||||
|
||||
self.verticalLayout_3.addWidget(self.tableView)
|
||||
|
||||
self.progressBar = QProgressBar(self.groupBox_2)
|
||||
self.progressBar = QProgressBar(OcrQueue)
|
||||
self.progressBar.setObjectName(u"progressBar")
|
||||
self.progressBar.setMinimum(0)
|
||||
self.progressBar.setMaximum(0)
|
||||
@ -87,9 +83,9 @@ class Ui_OcrQueue(object):
|
||||
self.verticalLayout_3.addWidget(self.progressBar)
|
||||
|
||||
|
||||
self.horizontalLayout.addLayout(self.verticalLayout_3)
|
||||
self.horizontalLayout_2.addLayout(self.verticalLayout_3)
|
||||
|
||||
self.groupBox_5 = QGroupBox(self.groupBox_2)
|
||||
self.groupBox_5 = QGroupBox(OcrQueue)
|
||||
self.groupBox_5.setObjectName(u"groupBox_5")
|
||||
self.verticalLayout_4 = QVBoxLayout(self.groupBox_5)
|
||||
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
|
||||
@ -114,10 +110,7 @@ class Ui_OcrQueue(object):
|
||||
self.verticalLayout_4.addWidget(self.ocr_ignoreValidateCheckBox)
|
||||
|
||||
|
||||
self.horizontalLayout.addWidget(self.groupBox_5)
|
||||
|
||||
|
||||
self.verticalLayout.addWidget(self.groupBox_2)
|
||||
self.horizontalLayout_2.addWidget(self.groupBox_5)
|
||||
|
||||
|
||||
self.retranslateUi(OcrQueue)
|
||||
@ -127,7 +120,6 @@ class Ui_OcrQueue(object):
|
||||
|
||||
def retranslateUi(self, OcrQueue):
|
||||
OcrQueue.setWindowTitle(QCoreApplication.translate("OcrQueue", u"OcrQueue", None))
|
||||
self.groupBox_2.setTitle(QCoreApplication.translate("OcrQueue", u"ocr.title", None))
|
||||
self.groupBox_3.setTitle(QCoreApplication.translate("OcrQueue", u"ocr.queue.title", None))
|
||||
self.ocr_addImageButton.setText(QCoreApplication.translate("OcrQueue", u"ocr.queue.addImageButton", None))
|
||||
self.ocr_removeSelectedButton.setText(QCoreApplication.translate("OcrQueue", u"ocr.queue.removeSelected", None))
|
||||
|
@ -37,19 +37,112 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="title">
|
||||
<string>tesseractSelector.title</string>
|
||||
<widget class="QWidget" name="horizontalWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="FileSelector" name="tesseractFileSelector" native="true"/>
|
||||
<widget class="QGroupBox" name="groupBox_6">
|
||||
<property name="title">
|
||||
<string>knnModelSelector.title</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="FileSelector" name="knnModelSelector" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="deviceDependenciesStackedWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="deviceV1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="title">
|
||||
<string>tesseractSelector.title</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<widget class="FileSelector" name="tesseractFileSelector" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="deviceV2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_5">
|
||||
<property name="title">
|
||||
<string>siftDatabaseSelector.title</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<widget class="FileSelector" name="siftDatabaseSelector" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>ocr.title</string>
|
||||
</property>
|
||||
|
@ -16,7 +16,7 @@ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
|
||||
QImage, QKeySequence, QLinearGradient, QPainter,
|
||||
QPalette, QPixmap, QRadialGradient, QTransform)
|
||||
from PySide6.QtWidgets import (QApplication, QGroupBox, QHBoxLayout, QPushButton,
|
||||
QSizePolicy, QVBoxLayout, QWidget)
|
||||
QSizePolicy, QStackedWidget, QVBoxLayout, QWidget)
|
||||
|
||||
from ui.implements.components import (DevicesComboBox, FileSelector, OcrQueue)
|
||||
|
||||
@ -50,7 +50,36 @@ class Ui_TabOcr(object):
|
||||
|
||||
self.verticalLayout_3.addWidget(self.groupBox)
|
||||
|
||||
self.groupBox_4 = QGroupBox(TabOcr)
|
||||
self.horizontalWidget = QWidget(TabOcr)
|
||||
self.horizontalWidget.setObjectName(u"horizontalWidget")
|
||||
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.horizontalWidget.sizePolicy().hasHeightForWidth())
|
||||
self.horizontalWidget.setSizePolicy(sizePolicy)
|
||||
self.horizontalLayout_2 = QHBoxLayout(self.horizontalWidget)
|
||||
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
||||
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
self.groupBox_6 = QGroupBox(self.horizontalWidget)
|
||||
self.groupBox_6.setObjectName(u"groupBox_6")
|
||||
self.verticalLayout_6 = QVBoxLayout(self.groupBox_6)
|
||||
self.verticalLayout_6.setObjectName(u"verticalLayout_6")
|
||||
self.knnModelSelector = FileSelector(self.groupBox_6)
|
||||
self.knnModelSelector.setObjectName(u"knnModelSelector")
|
||||
|
||||
self.verticalLayout_6.addWidget(self.knnModelSelector)
|
||||
|
||||
|
||||
self.horizontalLayout_2.addWidget(self.groupBox_6)
|
||||
|
||||
self.deviceDependenciesStackedWidget = QStackedWidget(self.horizontalWidget)
|
||||
self.deviceDependenciesStackedWidget.setObjectName(u"deviceDependenciesStackedWidget")
|
||||
self.deviceV1 = QWidget()
|
||||
self.deviceV1.setObjectName(u"deviceV1")
|
||||
self.verticalLayout_2 = QVBoxLayout(self.deviceV1)
|
||||
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
|
||||
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
self.groupBox_4 = QGroupBox(self.deviceV1)
|
||||
self.groupBox_4.setObjectName(u"groupBox_4")
|
||||
self.verticalLayout_5 = QVBoxLayout(self.groupBox_4)
|
||||
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
|
||||
@ -60,10 +89,40 @@ class Ui_TabOcr(object):
|
||||
self.verticalLayout_5.addWidget(self.tesseractFileSelector)
|
||||
|
||||
|
||||
self.verticalLayout_3.addWidget(self.groupBox_4)
|
||||
self.verticalLayout_2.addWidget(self.groupBox_4)
|
||||
|
||||
self.deviceDependenciesStackedWidget.addWidget(self.deviceV1)
|
||||
self.deviceV2 = QWidget()
|
||||
self.deviceV2.setObjectName(u"deviceV2")
|
||||
self.verticalLayout_4 = QVBoxLayout(self.deviceV2)
|
||||
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
|
||||
self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
|
||||
self.groupBox_5 = QGroupBox(self.deviceV2)
|
||||
self.groupBox_5.setObjectName(u"groupBox_5")
|
||||
self.verticalLayout_7 = QVBoxLayout(self.groupBox_5)
|
||||
self.verticalLayout_7.setObjectName(u"verticalLayout_7")
|
||||
self.siftDatabaseSelector = FileSelector(self.groupBox_5)
|
||||
self.siftDatabaseSelector.setObjectName(u"siftDatabaseSelector")
|
||||
|
||||
self.verticalLayout_7.addWidget(self.siftDatabaseSelector)
|
||||
|
||||
|
||||
self.verticalLayout_4.addWidget(self.groupBox_5)
|
||||
|
||||
self.deviceDependenciesStackedWidget.addWidget(self.deviceV2)
|
||||
|
||||
self.horizontalLayout_2.addWidget(self.deviceDependenciesStackedWidget)
|
||||
|
||||
|
||||
self.verticalLayout_3.addWidget(self.horizontalWidget)
|
||||
|
||||
self.groupBox_2 = QGroupBox(TabOcr)
|
||||
self.groupBox_2.setObjectName(u"groupBox_2")
|
||||
sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
|
||||
sizePolicy1.setHorizontalStretch(0)
|
||||
sizePolicy1.setVerticalStretch(0)
|
||||
sizePolicy1.setHeightForWidth(self.groupBox_2.sizePolicy().hasHeightForWidth())
|
||||
self.groupBox_2.setSizePolicy(sizePolicy1)
|
||||
self.horizontalLayout = QHBoxLayout(self.groupBox_2)
|
||||
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
||||
self.ocrQueue = OcrQueue(self.groupBox_2)
|
||||
@ -77,13 +136,18 @@ class Ui_TabOcr(object):
|
||||
|
||||
self.retranslateUi(TabOcr)
|
||||
|
||||
self.deviceDependenciesStackedWidget.setCurrentIndex(0)
|
||||
|
||||
|
||||
QMetaObject.connectSlotsByName(TabOcr)
|
||||
# setupUi
|
||||
|
||||
def retranslateUi(self, TabOcr):
|
||||
self.openWizardButton.setText(QCoreApplication.translate("TabOcr", u"openWizardButton", None))
|
||||
self.groupBox.setTitle(QCoreApplication.translate("TabOcr", u"deviceSelector.title", None))
|
||||
self.groupBox_6.setTitle(QCoreApplication.translate("TabOcr", u"knnModelSelector.title", None))
|
||||
self.groupBox_4.setTitle(QCoreApplication.translate("TabOcr", u"tesseractSelector.title", None))
|
||||
self.groupBox_5.setTitle(QCoreApplication.translate("TabOcr", u"siftDatabaseSelector.title", None))
|
||||
self.groupBox_2.setTitle(QCoreApplication.translate("TabOcr", u"ocr.title", None))
|
||||
pass
|
||||
# retranslateUi
|
||||
|
@ -1,14 +1,17 @@
|
||||
import cv2
|
||||
import pytesseract
|
||||
|
||||
# from arcaea_offline_ocr_device_creation_wizard.implements.wizard import Wizard
|
||||
from PySide6.QtCore import QModelIndex, Qt, Slot
|
||||
from PySide6.QtGui import QColor
|
||||
from PySide6.QtWidgets import QFileDialog, QHeaderView, QWidget
|
||||
from arcaea_offline_ocr.device.v1.definition import DeviceV1
|
||||
from arcaea_offline_ocr.device.v2.definition import DeviceV2
|
||||
from arcaea_offline_ocr.sift_db import SIFTDatabase
|
||||
from PySide6.QtCore import Slot
|
||||
from PySide6.QtWidgets import QFileDialog, QWidget
|
||||
|
||||
from ui.designer.tabs.tabOcr_ui import Ui_TabOcr
|
||||
from ui.extends.components.ocrQueue import OcrQueueModel
|
||||
from ui.extends.settings import Settings
|
||||
from ui.extends.tabs.tabOcr import TabDeviceV2OcrRunnable, ScoreInsertConverter
|
||||
from ui.extends.tabs.tabOcr import ScoreInsertConverter, TabDeviceV2OcrRunnable
|
||||
|
||||
|
||||
class TabOcr(Ui_TabOcr, QWidget):
|
||||
@ -17,10 +20,16 @@ class TabOcr(Ui_TabOcr, QWidget):
|
||||
self.setupUi(self)
|
||||
self.openWizardButton.setEnabled(False)
|
||||
|
||||
self.deviceComboBox.currentIndexChanged.connect(
|
||||
self.changeDeviceDepStackedWidget
|
||||
)
|
||||
|
||||
self.deviceFileSelector.filesSelected.connect(self.deviceFileSelected)
|
||||
self.knnModelSelector.filesSelected.connect(self.knnModelFileSelected)
|
||||
self.tesseractFileSelector.filesSelected.connect(
|
||||
self.tesseractFileSelectorFilesSelected
|
||||
)
|
||||
self.siftDatabaseSelector.filesSelected.connect(self.siftDatabaseFileSelected)
|
||||
|
||||
settings = Settings()
|
||||
self.deviceFileSelector.selectFile(settings.devicesJsonFile())
|
||||
@ -37,17 +46,32 @@ class TabOcr(Ui_TabOcr, QWidget):
|
||||
# wizard.open()
|
||||
pass
|
||||
|
||||
def changeDeviceDepStackedWidget(self):
|
||||
device = self.deviceComboBox.currentData()
|
||||
if isinstance(device, (DeviceV1, DeviceV2)):
|
||||
self.deviceDependenciesStackedWidget.setCurrentIndex(device.version - 1)
|
||||
|
||||
def deviceFileSelected(self):
|
||||
selectedFiles = self.deviceFileSelector.selectedFiles()
|
||||
if selectedFiles:
|
||||
file = selectedFiles[0]
|
||||
self.deviceComboBox.loadDevicesJson(file)
|
||||
|
||||
def knnModelFileSelected(self):
|
||||
selectedFiles = self.knnModelSelector.selectedFiles()
|
||||
if selectedFiles:
|
||||
self.knnModel = cv2.ml.KNearest.load(selectedFiles[0])
|
||||
|
||||
def tesseractFileSelectorFilesSelected(self):
|
||||
selectedFiles = self.tesseractFileSelector.selectedFiles()
|
||||
if selectedFiles:
|
||||
pytesseract.pytesseract.tesseract_cmd = selectedFiles[0]
|
||||
|
||||
def siftDatabaseFileSelected(self):
|
||||
selectedFiles = self.siftDatabaseSelector.selectedFiles()
|
||||
if selectedFiles:
|
||||
self.siftDatabase = SIFTDatabase(selectedFiles[0])
|
||||
|
||||
@Slot()
|
||||
def on_ocr_addImageButton_clicked(self):
|
||||
files, _filter = QFileDialog.getOpenFileNames(
|
||||
@ -63,7 +87,10 @@ class TabOcr(Ui_TabOcr, QWidget):
|
||||
index = self.ocrQueueModel.index(row, 0)
|
||||
imagePath = index.data(OcrQueueModel.ImagePathRole)
|
||||
runnable = TabDeviceV2OcrRunnable(
|
||||
imagePath, self.deviceComboBox.currentData(), self.knn, self.siftDb
|
||||
imagePath,
|
||||
self.deviceComboBox.currentData(),
|
||||
self.knnModel,
|
||||
self.siftDatabase,
|
||||
)
|
||||
self.ocrQueueModel.setData(index, runnable, OcrQueueModel.OcrRunnableRole)
|
||||
self.ocrQueueModel.setData(
|
||||
|
Loading…
x
Reference in New Issue
Block a user