wip: better ui responsive

This commit is contained in:
2023-09-07 17:55:07 +08:00
parent 8c5d7ae414
commit 88bd04ad92
4 changed files with 206 additions and 172 deletions

View File

@ -13,7 +13,9 @@
<property name="windowTitle">
<string notr="true">OcrQueue</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
@ -192,6 +194,15 @@
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="statusLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>

View File

@ -16,9 +16,9 @@ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QAbstractItemView, QApplication, QCheckBox, QGroupBox,
QHBoxLayout, QHeaderView, QProgressBar, QPushButton,
QRadioButton, QSizePolicy, QSpacerItem, QTableView,
QVBoxLayout, QWidget)
QHBoxLayout, QHeaderView, QLabel, QProgressBar,
QPushButton, QRadioButton, QSizePolicy, QSpacerItem,
QTableView, QVBoxLayout, QWidget)
class Ui_OcrQueue(object):
def setupUi(self, OcrQueue):
@ -26,8 +26,10 @@ class Ui_OcrQueue(object):
OcrQueue.setObjectName(u"OcrQueue")
OcrQueue.resize(650, 400)
OcrQueue.setWindowTitle(u"OcrQueue")
self.horizontalLayout_2 = QHBoxLayout(OcrQueue)
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.verticalLayout_5 = QVBoxLayout(OcrQueue)
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
self.horizontalLayout = QHBoxLayout()
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.groupBox_3 = QGroupBox(OcrQueue)
self.groupBox_3.setObjectName(u"groupBox_3")
self.verticalLayout_2 = QVBoxLayout(self.groupBox_3)
@ -82,7 +84,7 @@ class Ui_OcrQueue(object):
self.verticalLayout_2.addWidget(self.ocr_startButton)
self.horizontalLayout_2.addWidget(self.groupBox_3)
self.horizontalLayout.addWidget(self.groupBox_3)
self.verticalLayout_3 = QVBoxLayout()
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
@ -107,7 +109,7 @@ class Ui_OcrQueue(object):
self.verticalLayout_3.addWidget(self.progressBar)
self.horizontalLayout_2.addLayout(self.verticalLayout_3)
self.horizontalLayout.addLayout(self.verticalLayout_3)
self.groupBox_5 = QGroupBox(OcrQueue)
self.groupBox_5.setObjectName(u"groupBox_5")
@ -134,7 +136,15 @@ class Ui_OcrQueue(object):
self.verticalLayout_4.addWidget(self.ocr_ignoreValidateCheckBox)
self.horizontalLayout_2.addWidget(self.groupBox_5)
self.horizontalLayout.addWidget(self.groupBox_5)
self.verticalLayout_5.addLayout(self.horizontalLayout)
self.statusLabel = QLabel(OcrQueue)
self.statusLabel.setObjectName(u"statusLabel")
self.verticalLayout_5.addWidget(self.statusLabel)
self.retranslateUi(OcrQueue)
@ -156,6 +166,7 @@ class Ui_OcrQueue(object):
self.ocr_acceptSelectedButton.setText(QCoreApplication.translate("OcrQueue", u"results.acceptSelectedButton", None))
self.ocr_acceptAllButton.setText(QCoreApplication.translate("OcrQueue", u"results.acceptAllButton", None))
self.ocr_ignoreValidateCheckBox.setText(QCoreApplication.translate("OcrQueue", u"results.ignoreValidate", None))
self.statusLabel.setText("")
pass
# retranslateUi

View File

@ -43,6 +43,10 @@ class OcrQueue(Ui_OcrQueue, QWidget):
self.iccOptionButtonGroup.addButton(self.iccTryFixRadioButton, 2)
self.updateIccOption()
self.statusLabelClearTimer = QTimer(self)
self.statusLabelClearTimer.setSingleShot(True)
self.statusLabelClearTimer.timeout.connect(self.clearStatusMessage)
def model(self):
return self.__model
@ -88,6 +92,13 @@ class OcrQueue(Ui_OcrQueue, QWidget):
if self.model():
self.model().iccOption = self.iccOptionButtonGroup.checkedId()
def showStatusMessage(self, message: str):
self.statusLabel.setText(message)
self.statusLabelClearTimer.start()
def clearStatusMessage(self):
self.statusLabel.setText("")
def resizeTableView(self):
self.tableView.resizeRowsToContents()
self.tableView.resizeColumnsToContents()

View File

@ -7,7 +7,7 @@ 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 Qt, Slot
from PySide6.QtWidgets import QFileDialog, QWidget
from PySide6.QtWidgets import QApplication, QFileDialog, QWidget
from ui.designer.tabs.tabOcr.tabOcr_Device_ui import Ui_TabOcr_Device
from ui.extends.components.ocrQueue import OcrQueueModel
@ -101,6 +101,7 @@ class TabOcr_Device(Ui_TabOcr_Device, QWidget):
)
for file in files:
self.ocrQueueModel.addItem(file)
QApplication.processEvents()
self.ocrQueue.resizeTableView()
@Slot()