mirror of
http://git.xinwangdao.com/cnnc-embedded-parts-detect/detect-gui.git
synced 2025-06-24 13:14:11 +08:00
fixed
This commit is contained in:
parent
52d0f7f1ae
commit
c53ac2e2cc
2
.idea/detect-gui.iml
generated
2
.idea/detect-gui.iml
generated
@ -4,7 +4,7 @@
|
|||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="detect-gui" jdkType="Python SDK" />
|
<orderEntry type="jdk" jdkName="detect-gui-env" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@ -3,5 +3,5 @@
|
|||||||
<component name="Black">
|
<component name="Black">
|
||||||
<option name="sdkName" value="detect-gui" />
|
<option name="sdkName" value="detect-gui" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="detect-gui" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="detect-gui-env" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
@ -3,12 +3,16 @@ import sqlite3
|
|||||||
|
|
||||||
from dynaconf.base import Settings
|
from dynaconf.base import Settings
|
||||||
from exceptiongroup import catch
|
from exceptiongroup import catch
|
||||||
|
from PyQt5.QtCore import QObject, pyqtSignal
|
||||||
from core.edge_component import EdgeComponent, action, service
|
from core.edge_component import EdgeComponent, action, service
|
||||||
|
|
||||||
|
class TaskTableSignals(QObject):
|
||||||
|
# QT 信号
|
||||||
|
on_receive_task = pyqtSignal()
|
||||||
|
|
||||||
@action("dat_task", auto_start=True)
|
@action("dat_task", auto_start=True)
|
||||||
class TaskTable(EdgeComponent):
|
class TaskTable(EdgeComponent):
|
||||||
|
signals = TaskTableSignals()
|
||||||
|
|
||||||
def __init__(self, context):
|
def __init__(self, context):
|
||||||
super(TaskTable, self).__init__(context)
|
super(TaskTable, self).__init__(context)
|
||||||
@ -128,6 +132,7 @@ class TaskTable(EdgeComponent):
|
|||||||
(task['id'], task['name'], task['deviceSn'], task['paramJson'], task['state'], task['createTime'], task['updateTime'])
|
(task['id'], task['name'], task['deviceSn'], task['paramJson'], task['state'], task['createTime'], task['updateTime'])
|
||||||
)
|
)
|
||||||
conn.commit()
|
conn.commit()
|
||||||
|
self.signals.on_receive_task.emit()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.error(e)
|
self.logger.error(e)
|
||||||
finally:
|
finally:
|
||||||
|
4
main.py
4
main.py
@ -98,8 +98,10 @@ class DetectWindow(QMainWindow):
|
|||||||
self.battery_change(self.battery)
|
self.battery_change(self.battery)
|
||||||
|
|
||||||
# 设置窗口默认全屏
|
# 设置窗口默认全屏
|
||||||
self.resize(1024, 768)
|
# self.resize(1024, 768)
|
||||||
# self.showFullScreen()
|
# self.showFullScreen()
|
||||||
|
self.setWindowState(Qt.WindowMaximized)
|
||||||
|
|
||||||
#
|
#
|
||||||
def init_signals(self):
|
def init_signals(self):
|
||||||
ups = AppContext.get_edge_context().get_component('ups')
|
ups = AppContext.get_edge_context().get_component('ups')
|
||||||
|
@ -4,7 +4,7 @@ from datetime import datetime
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
from PyQt5.QtCore import Qt, QRect
|
from PyQt5.QtCore import Qt, QRect
|
||||||
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QGridLayout, QLineEdit, QLabel, QHBoxLayout, QPushButton, QFileDialog, \
|
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QGridLayout, QLineEdit, QLabel, QHBoxLayout, QPushButton, QFileDialog, \
|
||||||
QScrollArea, QPlainTextEdit
|
QScrollArea, QPlainTextEdit, QMessageBox
|
||||||
|
|
||||||
from core.context import AppContext
|
from core.context import AppContext
|
||||||
from widget.task_run import TaskRunDialog
|
from widget.task_run import TaskRunDialog
|
||||||
@ -16,8 +16,6 @@ class TaskListWidget(QWidget):
|
|||||||
self.ratio = AppContext.get_ratio()
|
self.ratio = AppContext.get_ratio()
|
||||||
self.run_dialog = None
|
self.run_dialog = None
|
||||||
|
|
||||||
widget = QWidget()
|
|
||||||
|
|
||||||
scroll_area = QScrollArea()
|
scroll_area = QScrollArea()
|
||||||
scroll_area.setStyleSheet("border: none;")
|
scroll_area.setStyleSheet("border: none;")
|
||||||
scroll_area.setWidgetResizable(True)
|
scroll_area.setWidgetResizable(True)
|
||||||
@ -28,6 +26,7 @@ class TaskListWidget(QWidget):
|
|||||||
|
|
||||||
scroll_area.setWidget(self.content_widget)
|
scroll_area.setWidget(self.content_widget)
|
||||||
|
|
||||||
|
widget = QWidget()
|
||||||
widget_layout = QVBoxLayout(widget)
|
widget_layout = QVBoxLayout(widget)
|
||||||
widget_layout.setContentsMargins(10, 10, 10, 10)
|
widget_layout.setContentsMargins(10, 10, 10, 10)
|
||||||
widget_layout.setSpacing(0)
|
widget_layout.setSpacing(0)
|
||||||
@ -38,12 +37,16 @@ class TaskListWidget(QWidget):
|
|||||||
layout.setSpacing(0)
|
layout.setSpacing(0)
|
||||||
layout.addWidget(widget)
|
layout.addWidget(widget)
|
||||||
|
|
||||||
self.initUi()
|
self.init_ui()
|
||||||
|
|
||||||
def initUi(self):
|
AppContext.get_edge_context().get_component('dat_task').signals.on_receive_task.connect(self.init_ui)
|
||||||
|
|
||||||
|
def init_ui(self):
|
||||||
task_table = AppContext.get_edge_context().get_component("dat_task")
|
task_table = AppContext.get_edge_context().get_component("dat_task")
|
||||||
tasks = task_table.list_task(1)
|
tasks = task_table.list_task(1)
|
||||||
|
if len(tasks) == 0:
|
||||||
|
return
|
||||||
|
self.content_widget.children().clear()
|
||||||
# 添加 TITLE
|
# 添加 TITLE
|
||||||
x = 0
|
x = 0
|
||||||
y = 0
|
y = 0
|
||||||
@ -121,18 +124,24 @@ class TaskListWidget(QWidget):
|
|||||||
run_task.setGeometry(QRect(x, y, 120, 30))
|
run_task.setGeometry(QRect(x, y, 120, 30))
|
||||||
run_task.clicked.connect(lambda: self.start_task(task))
|
run_task.clicked.connect(lambda: self.start_task(task))
|
||||||
|
|
||||||
# run_task.clicked.connect(self.start_task)
|
|
||||||
|
|
||||||
y = y + 120 + offset
|
y = y + 120 + offset
|
||||||
|
|
||||||
self.content_widget.setFixedHeight(y + offset)
|
self.content_widget.setFixedHeight(y + offset)
|
||||||
|
|
||||||
|
for ctl in self.content_widget.children():
|
||||||
|
if isinstance(ctl, QWidget):
|
||||||
|
ctl.setVisible(True)
|
||||||
|
|
||||||
def start_task(self, task):
|
def start_task(self, task):
|
||||||
task_table = AppContext.get_edge_context().get_component("dat_task")
|
task_table = AppContext.get_edge_context().get_component("dat_task")
|
||||||
task_table.update_task({ "id": task[0], "state": 1, "start_time": datetime.now() })
|
task_table.update_task({ "id": task[0], "state": 1, "start_time": datetime.now() })
|
||||||
self.run_dialog = TaskRunDialog(json.loads(task[3]))
|
try:
|
||||||
|
param_json = json.loads(task[3])
|
||||||
|
self.run_dialog = TaskRunDialog(param_json)
|
||||||
dialog_result = self.run_dialog.exec_()
|
dialog_result = self.run_dialog.exec_()
|
||||||
if dialog_result == 0:
|
if dialog_result == 0:
|
||||||
c = 0
|
c = 0
|
||||||
# self.name_text.setText(None)
|
# self.name_text.setText(None)
|
||||||
# self.file_content.setPlainText(None)
|
# self.file_content.setPlainText(None)
|
||||||
|
except Exception as e:
|
||||||
|
QMessageBox.warning(self, 'JSON Error', f'Invalid JSON: {e}')
|
@ -12,12 +12,12 @@ class TaskRunDialog(QDialog):
|
|||||||
self.ratio = AppContext.get_ratio()
|
self.ratio = AppContext.get_ratio()
|
||||||
self.checkIndex = 1
|
self.checkIndex = 1
|
||||||
self.param = param
|
self.param = param
|
||||||
self.setWindowState(Qt.WindowMaximized)
|
|
||||||
self.setWindowFlags(Qt.WindowStaysOnTopHint)
|
self.setWindowFlags(Qt.WindowStaysOnTopHint)
|
||||||
self.setWindowFlags(Qt.FramelessWindowHint)
|
self.setWindowFlags(Qt.FramelessWindowHint)
|
||||||
self.setWindowModality(Qt.ApplicationModal)
|
self.setWindowModality(Qt.ApplicationModal)
|
||||||
self.setAttribute(Qt.WA_DeleteOnClose)
|
self.setAttribute(Qt.WA_DeleteOnClose)
|
||||||
self.setWindowTitle("检测窗口")
|
self.setWindowTitle("检测窗口")
|
||||||
|
self.showFullScreen()
|
||||||
|
|
||||||
self.bim_widget = None
|
self.bim_widget = None
|
||||||
self.check_widget = None
|
self.check_widget = None
|
||||||
|
Loading…
Reference in New Issue
Block a user