2023-02-10 21:51:03 +08:00

44 lines
1.6 KiB
Python

from rscder.plugins.basic import BasicPlugin
from rscder.gui.actions import ActionManager
from ai_method import AI_METHOD
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QAction, QToolBar, QMenu, QDialog, QHBoxLayout, QVBoxLayout, QPushButton,QWidget,QLabel,QLineEdit,QPushButton,QComboBox,QDialogButtonBox
from rscder.utils.icons import IconInstance
from plugins.misc.main import AlgFrontend
from functools import partial
class AIPlugin(BasicPlugin):
@staticmethod
def info():
return {
'name': 'AI 变化检测',
'author': 'RSC',
'version': '1.0.0',
'description': 'AI 变化检测',
'category': 'Ai method'
}
def set_action(self):
ai_menu = ActionManager().ai_menu
# ai_menu.setIcon(IconInstance().UNSUPERVISED)
# ActionManager().change_detection_menu.addMenu(ai_menu)
toolbar = ActionManager().add_toolbar('AI method')
for key in AI_METHOD.keys():
alg:AlgFrontend = AI_METHOD[key]
if alg.get_name() is None:
name = key
else:
name = alg.get_name()
action = QAction(alg.get_icon(), name, ai_menu)
func = partial(self.run_cd, alg)
action.triggered.connect(func)
toolbar.addAction(action)
ai_menu.addAction(action)
def run_cd(self, alg:AlgFrontend):
dialog = alg.get_widget(self.mainwindow)
dialog.setWindowModality(Qt.NonModal)
dialog.show()
# dialog.exec()