mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-07-01 04:16:26 +00:00
wip: settings
This commit is contained in:
19
ui/implements/components/settings/resettableItem.py
Normal file
19
ui/implements/components/settings/resettableItem.py
Normal file
@ -0,0 +1,19 @@
|
||||
from PySide6.QtWidgets import QSizePolicy, QWidget
|
||||
|
||||
from ui.designer.components.settings.resettableItem_ui import Ui_ResettableItem
|
||||
|
||||
|
||||
class ResettableItem(Ui_ResettableItem, QWidget):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.setupUi(self)
|
||||
|
||||
def setWidget(self, widget: QWidget):
|
||||
firstItem = self.horizontalLayout.itemAt(0)
|
||||
if firstItem.objectName() != "resetButton":
|
||||
self.horizontalLayout.removeItem(firstItem)
|
||||
|
||||
sizePolicy = widget.sizePolicy()
|
||||
sizePolicy.setHorizontalPolicy(QSizePolicy.Policy.Expanding)
|
||||
widget.setSizePolicy(sizePolicy)
|
||||
self.horizontalLayout.insertWidget(0, widget)
|
@ -1,4 +1,5 @@
|
||||
from arcaea_offline.database import Database
|
||||
import logging
|
||||
|
||||
from PySide6.QtCore import Slot
|
||||
from PySide6.QtWidgets import QWidget
|
||||
|
||||
@ -6,6 +7,8 @@ from ui.designer.settings.settingsDefault_ui import Ui_SettingsDefault
|
||||
from ui.extends.ocr import load_devices_json
|
||||
from ui.extends.settings import *
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class SettingsDefault(Ui_SettingsDefault, QWidget):
|
||||
def __init__(self, parent=None):
|
||||
@ -29,6 +32,12 @@ class SettingsDefault(Ui_SettingsDefault, QWidget):
|
||||
self.tesseractFileSelector.accepted.connect(
|
||||
self.on_tesseractFileSelector_accepted
|
||||
)
|
||||
self.knnModelFileSelector.accepted.connect(
|
||||
self.on_knnModelFileSelector_accepted
|
||||
)
|
||||
self.siftDatabaseFileSelector.accepted.connect(
|
||||
self.on_siftDatabaseFileSelector_accepted
|
||||
)
|
||||
|
||||
def setDevicesJsonFile(self):
|
||||
try:
|
||||
@ -37,7 +46,7 @@ class SettingsDefault(Ui_SettingsDefault, QWidget):
|
||||
assert isinstance(devices, list)
|
||||
self.settings.setDevicesJsonFile(filename)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
logger.exception("set deviceJsonFile error")
|
||||
# QMessageBox
|
||||
return
|
||||
|
||||
@ -71,3 +80,17 @@ class SettingsDefault(Ui_SettingsDefault, QWidget):
|
||||
|
||||
def on_tesseractFileSelector_accepted(self):
|
||||
self.setTesseractFile()
|
||||
|
||||
def setKnnModelFile(self):
|
||||
file = self.knnModelFileSelector.selectedFiles()[0]
|
||||
self.settings.setKnnModelFile(file)
|
||||
|
||||
def on_knnModelFileSelector_accepted(self):
|
||||
self.setKnnModelFile()
|
||||
|
||||
def setSiftDatabaseFile(self):
|
||||
file = self.siftDatabaseFileSelector.selectedFiles()[0]
|
||||
self.settings.setSiftDatabaseFile(file)
|
||||
|
||||
def on_siftDatabaseFileSelector_accepted(self):
|
||||
self.setSiftDatabaseFile()
|
||||
|
@ -12,6 +12,7 @@ from PySide6.QtWidgets import QWidget
|
||||
|
||||
from ui.designer.tabs.tabOcr.tabOcr_B30_ui import Ui_TabOcr_B30
|
||||
from ui.extends.components.ocrQueue import OcrQueueModel
|
||||
from ui.extends.settings import Settings
|
||||
from ui.extends.shared.cv2_utils import cv2BgrMatToQImage, qImageToCvMatBgr
|
||||
from ui.extends.tabs.tabOcr.tabOcr_B30 import (
|
||||
ChieriV4OcrRunnable,
|
||||
@ -54,6 +55,11 @@ class TabOcr_B30(Ui_TabOcr_B30, QWidget):
|
||||
|
||||
self.tryPrepareOcr.connect(self.prepareOcr)
|
||||
|
||||
settings = Settings()
|
||||
logger.info("Applying default settings...")
|
||||
self.knnModelSelector.selectFile(settings.knnModelFile())
|
||||
self.siftDatabaseSelector.selectFile(settings.siftDatabaseFile())
|
||||
|
||||
self.ocrQueueModel = OcrQueueModel(self)
|
||||
self.ocrQueue.setModel(self.ocrQueueModel)
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
import logging
|
||||
|
||||
import cv2
|
||||
import pytesseract
|
||||
|
||||
@ -16,6 +18,8 @@ from ui.extends.tabs.tabOcr.tabOcr_Device import (
|
||||
TabDeviceV2OcrRunnable,
|
||||
)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TabOcr_Device(Ui_TabOcr_Device, QWidget):
|
||||
def __init__(self, parent=None):
|
||||
@ -35,9 +39,12 @@ class TabOcr_Device(Ui_TabOcr_Device, QWidget):
|
||||
self.siftDatabaseSelector.filesSelected.connect(self.siftDatabaseFileSelected)
|
||||
|
||||
settings = Settings()
|
||||
logger.info("Applying default settings...")
|
||||
self.deviceFileSelector.selectFile(settings.devicesJsonFile())
|
||||
self.tesseractFileSelector.selectFile(settings.tesseractPath())
|
||||
self.deviceComboBox.selectDevice(settings.deviceUuid())
|
||||
self.knnModelSelector.selectFile(settings.knnModelFile())
|
||||
self.siftDatabaseSelector.selectFile(settings.siftDatabaseFile())
|
||||
|
||||
self.ocrQueueModel = OcrQueueModel(self)
|
||||
self.ocrQueue.setModel(self.ocrQueueModel)
|
||||
|
Reference in New Issue
Block a user