数据/图像分析管理器
checkableModel
、TreeViewWidget
、addAnalysisWidget
和 AnalysisManager
。类和方法
checkableModel
类
checkableModel
继承自 QtGui.QStandardItemModel
,实现了一个可检查的模型。
方法:
test(self)
:测试方法(空实现)。
TreeViewWidget
类
TreeViewWidget
继承自 QWidget
,实现了一个树视图组件,用于显示和管理分析任务。
方法:
__init__(self, props, parent=None)
:初始化树视图组件。props
:属性对象,用于存储和管理配置数据。parent
:父窗口。- 创建树视图和模型,并设置定时器定期更新任务状态。
createMailModel(self, parent)
:创建树视图模型。- 设置模型的列标题。
- 连接模型的
itemChanged
信号到itchange
方法。
itchange(self, item)
:处理模型项改变事件。item
:改变的模型项。- 根据项的检查状态,启动或停止相应的分析任务,并更新属性。
killVagabonding(self, pname, pargs)
:终止运行的孤立进程。pname
:程序名称。pargs
:程序参数。- 根据操作系统,查找并终止孤立进程。
startProcess(self, name)
:启动分析任务。name
:任务名称。- 终止同名任务后,启动新任务并记录进程对象。
endProcess(self, name)
:终止分析任务。name
:任务名称。- 如果任务在运行,则终止进程并记录日志。
updateStatus(self)
:更新任务状态。- 检查进程是否仍在运行,更新任务状态和视图。
addItem(self, direc, script, Filtername, active, category, streams)
:添加新任务到树视图。direc
:目录。script
:脚本名称。Filtername
:任务名称。active
:任务是否激活。category
:任务类别。streams
:数据流。- 创建新任务项并添加到模型中。
del_current(self)
:删除当前选中的任务。- 获取选中的任务项并删除相应的任务和进程。
configureCurrent(self)
:配置当前选中的任务。- 获取选中的任务项,打开属性编辑对话框进行配置。
__del__(self)
:析构函数,终止所有运行中的任务。
addAnalysisWidget
类
addAnalysisWidget
继承自 QWidget
,实现了一个用于添加新分析任务的组件。
方法:
__init__(self, manager, parent=None)
:初始化添加分析任务组件。manager
:分析管理器对象。parent
:父窗口。- 创建布局、按钮、文本框和下拉菜单。
update_streamlist(self, category)
:更新数据流列表。category
:任务类别。- 根据选定的类别更新数据流下拉菜单。
addd(self)
:添加新任务。- 获取输入的信息,创建新任务,并添加到分析管理器中。
AnalysisManager
类
AnalysisManager
继承自 BWidget
,实现了分析管理器,管理分析脚本的运行。
方法:
__init__(self, name='Analysis', parent=None)
:初始化分析管理器。name
:管理器名称,默认为’Analysis’。parent
:父窗口。- 设置属性和分析目录,初始化GUI。
initGUI(self)
:初始化GUI界面。- 创建添加分析任务组件和树视图组件,并设置布局。
- 添加已有任务到树视图中。
delentry(self)
:删除当前选中的任务。- 调用树视图的
del_current
方法。
- 调用树视图的
configureFilter(self)
:配置当前选中的任务。- 调用树视图的
configureCurrent
方法。
- 调用树视图的
主函数
代码通过创建 QApplication
实例和 AnalysisManager
窗口来执行,并启动应用程序的主循环。
def main():
app = QtWidgets.QApplication(sys.argv)
icon = QtGui.QIcon()
icon.addFile(iconpath + '/analysis.png')
app.setWindowIcon(icon)
Win = AnalysisManager()
Win.setWindowTitle('Data/Image analysis manager')
Win.show()
sys.exit(app.exec())
代码执行
该代码通过命令行执行,创建一个AnalysisManager
对象,并显示数据/图像分析管理器窗口。