DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA 命名空间参考

序列化类都是带异常的,使用中需要处理异常 更多...

命名空间

namespace  compat
 处理Qt5与Qt6中的差异
 

class  _DAGraphicsSceneItemMoveingInfos
 
class  _DAValueWithIndex
 含有index的值对 更多...
 
class  AppMainWindow
 
class  da_array_table
 基于 std::array 的固定大小二维表格数据结构 更多...
 
class  da_hash_table
 基于 std::unordered_map 的稀疏表格数据结构 更多...
 
class  da_vector_table
 二维表格数据结构,使用一维数组存储以提高缓存友好性 更多...
 
class  DAAbstractArchive
 持久化的基类 更多...
 
class  DAAbstractArchiveTask
 针对 更多...
 
class  DAAbstractCacheWindowTableModel
 这是一个有缓存窗的模型,模型的显示行数固定在缓存窗的大小,这个模型适合超多行数据的显示 更多...
 
class  DAAbstractChartAddItemWidget
 创建QwtPlotItem的窗口基类,DAChartAdd***Widget类的基类 更多...
 
class  DAAbstractChartItemSettingWidget
 chart设置的基类封装了基本操作 更多...
 
class  DAAbstractChartMarker
 marker接口 更多...
 
class  DAAbstractData
 DA 的数据基类 更多...
 
class  DAAbstractGraphicsSceneAction
 这是一个scene的动作,DAGraphicsScene支持持有一个动作,这个动作可以捕获scene的所有界面事件 更多...
 
class  DAAbstractGraphicsViewAction
 针对DAGraphicsView的action. 更多...
 
class  DAAbstractGraphicsViewOverlay
 提供给DAGraphicsView的Overlay 更多...
 
class  DAAbstractMarkSymbol
 绘图mark 更多...
 
class  DAAbstractNode
 节点对应的基类 更多...
 
class  DAAbstractNodeFactory
 FCAbstractNode的工厂基类,所有自定义的node集合最后都需要提供一个工厂 更多...
 
class  DAAbstractNodeGraphicsItem
 这是节点的基类,workflow所有节点都继承此类 作为一个节点的QGraphicsItem,此item应该由DAAbstractNode创建 更多...
 
class  DAAbstractNodeLinkGraphicsItem
 绘制连接线的item 更多...
 
class  DAAbstractNodePlugin
 节点插件 更多...
 
class  DAAbstractNodeWidget
 FCNodeItem都可返回一个FCNodeWidget,用于设置node属性 更多...
 
class  DAAbstractOperateWidget
 操作窗口的基类 更多...
 
class  DAAbstractPlotEditor
 绘图编辑器 更多...
 
class  DAAbstractPlugin
 所有插件的基类 更多...
 
class  DAAbstractProtocol
 da协议解析基类 更多...
 
class  DAAbstractRegionSelectEditor
 
class  DAAbstractSettingPage
 配置页面的基类,所有配置页面都继承此类 更多...
 
class  DAAbstractWidgetOverlay
 参照QwtWidgetOverlay的Widget Overlay 更多...
 
class  DAActionsInterface
 这是app所有action的管理器 更多...
 
class  DAAligmentEditWidget
 对齐编辑窗口 更多...
 
class  DAAligmentPositionEditWidget
 The DAAligmentPositionEditWidget class 更多...
 
class  DAAppActions
 action管理 更多...
 
class  DAAppChartManageWidget
 
class  DAAppChartOperateWidget
 DAChartOperateWidget的app特化 更多...
 
class  DAAppCommand
 App的命令管理 更多...
 
class  DAAppConfig
 此类为本程序的设置类 更多...
 
class  DAAppController
 控制层负责逻辑的对接 更多...
 
class  DAAppCore
 DA的核心接口,作为单例存在 更多...
 
class  DAAppDataManager
 DA的变量管理类,da的变量统一由此类管理 更多...
 
class  DAAppDockingArea
 负责docking窗口区域的管理,APP分两大区域-RibbonArea和DockArea DockArea包含所有的窗口 更多...
 
class  DAAppFigureFactory
 APP下特化绘图相关的类 更多...
 
class  DAAppFigureWidget
 DAFigureWidget的特例化,加入了拖曳等功能 更多...
 
class  DAAppPluginManager
 此app的插件管理类 更多...
 
class  DAAppProject
 负责整个节点的工程管理 更多...
 
class  DAAppRibbonApplicationMenu
 ribbon application button 弹出的菜单 更多...
 
class  DAAppRibbonArea
 App的Ribbon区域接口,负责ribbon层的管理和调度 更多...
 
class  DAAppSettingDialog
 程序的默认设置对话框 更多...
 
class  DAAppStatusBar
 
class  DAAppUI
 总体界面接口,负责生成DAAppDockingArea和DAAppRibbonArea 更多...
 
class  DAAppWorkFlowOperateWidget
 DAWorkFlowOperateWidget的app实例化 更多...
 
class  DAAutoincrementSeries
 这是描述等步长自增序列的类,包含了基础值和步长,可以把它当做一个数组调用 更多...
 
class  DAAxObjectExcelSheetWrapper
 针对excelSheet的操作封装,不对QAxObject的生命周期进行管理,确保此类不要单独保留,否则sheet析构后会引起异常 更多...
 
class  DAAxObjectExcelWrapper
 excel操作封装 更多...
 
class  DAAxObjectWordTableWrapper
 针对word的表格的封装 更多...
 
class  DAAxObjectWordWrapper
 word操作封装 更多...
 
class  DABadSerializeExpection
 
class  DABaseInterface
 
class  DABrushEditWidget
 画刷编辑窗口 更多...
 
class  DABrushStyleComboBox
 Qt::BrushStyle for QComboBox 更多...
 
class  DACacheWindowTableView
 针对DAAbstractCacheWindowTableModel的view 更多...
 
class  DACallBackInterface
 
class  DAChartAddBarWidget
 添加曲线和添加bar都是在xy的基础上添加 更多...
 
class  DAChartAddCurveWidget
 添加xy series,适用二维数据绘图的系列获取 更多...
 
class  DAChartAddErrorBarWidget
 添加曲线 更多...
 
class  DAChartAddIntervalCurveWidget
 
class  DAChartAddOHLCSeriesWidget
 添加OHLC series,适用二维数据绘图的系列获取 更多...
 
class  DAChartAddSpectrogramWidget
 
class  DAChartAddtGridRasterDataWidget
 添加xymatrics series,适用二维数据绘图的系列获取 更多...
 
class  DAChartAddTradingCurveWidget
 添加TradingCurve 更多...
 
class  DAChartAddXYESeriesWidget
 添加xye series,适用二维数据绘图的系列获取 更多...
 
class  DAChartAddXYSeriesWidget
 添加xy series,适用二维数据绘图的系列获取 这个是一个abstract类,需要重写 更多...
 
class  DAChartAxisRangeBinder
 绘图坐标轴绑定器 更多...
 
class  DAChartAxisSetWidget
 
class  DAChartBarItemSettingWidget
 曲线设置窗口 更多...
 
class  DAChartCanvas
 重写了paint背景的方法 更多...
 
class  DAChartCanvasSettingWidget
 QwtCanvasWidget的设置 更多...
 
class  DAChartCommonItemsSettingWidget
 这是一个通用的设置窗口,集成了已有的所有设置窗口 更多...
 
class  DAChartCrossTracker
 十字标记线 更多...
 
class  DAChartCurveItemSettingWidget
 曲线设置窗口 更多...
 
class  DAChartDataInterface
 图表数据操作接口 - 负责数据的添加、删除和管理 更多...
 
class  DAChartEllipseRegionSelectEditor
 椭圆选区 更多...
 
class  DAChartErrorBarItemSettingWidget
 曲线设置窗口 更多...
 
class  DAChartFactory
 DAFigureWidget持有一个ChartFactory,在添加Chart的时候,将调用DAChartFactory::createChart 更多...
 
class  DAChartGridSettingWidget
 grid设置窗口(QwtPlotItem::Rtti_PlotGrid) 更多...
 
class  DAChartInteractionInterface
 图表交互控制接口 - 负责缩放、平移、拾取等交互功能 更多...
 
class  DAChartItemSerialize
 针对QwtPlotItem的二进制序列化 更多...
 
class  DAChartItemsManager
 这个类用于管理和记录整个绘图的所有QwtPlotItem,主要用于持久化的时候,记录QwtPlotItem和key的对应关系 更多...
 
class  DAChartItemTableModel
 显示item数据的tablemodel 更多...
 
class  DAChartLegendItemSettingWidget
 
class  DAChartListView
 
class  DAChartManageWidget
 绘图管理窗口 更多...
 
class  DAChartOperateWidget
 绘图操作窗口 更多...
 
class  DAChartOperateWidgetPrivate
 
class  DAChartPlotItemFactory
 针对QwtPlotItem的工厂类 更多...
 
class  DAChartPlotItemSettingWidget
 QwtPlotItem的设置窗口 更多...
 
class  DAChartPlotSettingWidget
 图表设置窗口 更多...
 
class  DAChartPointMarker
 点标注marker 更多...
 
class  DAChartPolygonRegionSelectEditor
 
class  DAChartRectRegionSelectEditor
 用于给图标添加矩形选框的事件过滤器 更多...
 
class  DAChartSelectRegionShapeItem
 选区基类 更多...
 
class  DAChartSettingWidget
 绘图设置窗口 更多...
 
class  DAChartSpectrogramItemSettingWidget
 曲线设置窗口 更多...
 
class  DAChartStyleInterface
 图表样式设置接口 - 负责颜色、字体、背景、显示元素等样式设置 更多...
 
class  DAChartSymbolComboBox
 针对QwtSymbol的combobox,此类参考qtiplot的SymbolBox 更多...
 
class  DAChartSymbolEditWidget
 
class  DAChartTradingCurveItemSettingWidget
 曲线设置窗口 更多...
 
class  DAChartUtil
 这是一个辅助类,用于绘图的辅助 更多...
 
class  DAChartWidget
 增强的Qwt图表控件,提供完整的数据绘图、样式设置和交互控制功能 更多...
 
class  DACollapsibleGroupBox
 基于ctkCollapsibleGroupBox的可缩放GroupBox 更多...
 
class  DAColorPickerButton
 颜色拾取按钮封装 更多...
 
class  DAColorTheme
 颜色主题 更多...
 
class  DAColumnTable
 列族表 更多...
 
class  DACommandDataFrame_astype
 转换列的数据类型 更多...
 
class  DACommandDataFrame_castDatetime
 转换列的数据类型 更多...
 
class  DACommandDataFrame_castNum
 转换列的数据类型 更多...
 
class  DACommandDataFrame_dropIColumn
 删除列 更多...
 
class  DACommandDataFrame_dropIRow
 删除行 更多...
 
class  DACommandDataFrame_evalDatas
 evaldatas 更多...
 
class  DACommandDataFrame_filterByColumn
 dataselect 更多...
 
class  DACommandDataFrame_iat
 添加变量命令 更多...
 
class  DACommandDataFrame_insertColumn
 插入列 更多...
 
class  DACommandDataFrame_insertNanRow
 插入一个空行 更多...
 
class  DACommandDataFrame_querydatas
 querydatas 更多...
 
class  DACommandDataFrame_renameColumns
 更改列名 更多...
 
class  DACommandDataFrame_setIndex
 转换列为索引 更多...
 
class  DACommandDataFrame_setnan
 设置为nan 更多...
 
class  DACommandDataFrame_sort
 sort 更多...
 
class  DACommandDataManagerAdd
 添加变量命令 更多...
 
class  DACommandDataManagerRemove
 移除变量命令 更多...
 
class  DACommandDataManagerRenameData
 变量重命名 更多...
 
class  DACommandGraphicsShapeBackgroundBrushChange
 改变shape的bk brush 更多...
 
class  DACommandGraphicsShapeBorderPenChange
 改变border的pen 更多...
 
class  DACommandGraphicsStandardTextItemsChangeColor
 改变颜色 更多...
 
class  DACommandGraphicsStandardTextItemsChangeFont
 改变字体 更多...
 
class  DACommandGraphicsStandardTextItemsChangeHtml
 改变GraphicsTextItem内容 更多...
 
class  DACommandGraphicsTextItemsChangeColor
 改变颜色 更多...
 
class  DACommandGraphicsTextItemsChangeFont
 改变字体 更多...
 
class  DACommandGraphicsTextItemsChangeHtml
 改变GraphicsTextItem内容 更多...
 
class  DACommandInterface
 命令接口 更多...
 
class  DACommandsForGraphicsItemAdd
 添加item命令 更多...
 
class  DACommandsForGraphicsItemGrouping
 分组命令 更多...
 
class  DACommandsForGraphicsItemMoved
 移动item命令,必须先确保item是movable的 更多...
 
class  DACommandsForGraphicsItemRemove
 移除item命令 更多...
 
class  DACommandsForGraphicsItemResized
 item改变尺寸 更多...
 
class  DACommandsForGraphicsItemResizeHeight
 改变高度 更多...
 
class  DACommandsForGraphicsItemResizeWidth
 仅改变宽度 更多...
 
class  DACommandsForGraphicsItemRotation
 旋转 更多...
 
class  DACommandsForGraphicsItemsAdd
 添加item命令 更多...
 
class  DACommandsForGraphicsItemsMoved
 移动item命令,必须先确保item是movable的 更多...
 
class  DACommandsForGraphicsItemsRemove
 移除items命令 更多...
 
class  DACommandsForGraphicsItemUngrouping
 解除分组命令 更多...
 
class  DACommandsForWorkFlowAddNodeItem
 节点添加命令 更多...
 
class  DACommandsForWorkFlowCreateLink
 创建link 更多...
 
class  DACommandsForWorkFlowCreateNode
 节点创建命令 更多...
 
class  DACommandsForWorkFlowRemoveLink
 移除link 更多...
 
class  DACommandsForWorkFlowRemoveNodeItem
 节点删除命令 更多...
 
class  DACommandsForWorkFlowRemoveNodes
 移除节点命令 更多...
 
class  DACommandsForWorkFlowRemoveSelectNodes
 The 节点删除命令 更多...
 
class  DACommandTextDocumentWrapper
 改变GraphicsTextItem内容 更多...
 
class  DACommandTextItemHtmlContentChanged
 QGraphicsTextItem的内容发生变化 更多...
 
class  DACommandWithRedoCount
 加上计数的cmd TODO:这个类的名字需要修改为DACommandInitialSkipRedo 更多...
 
class  DACommandWithTemporaryData
 此命令实现了临时文件接口,需要保存临时文件的继承此类 TODO:这个类的名字需要修改为DACommandDataframeWithTemplateData 更多...
 
class  DACommandWorkFlowSceneAddBackgroundPixmap
 添加背景 更多...
 
class  DACommonPropertySettingDialog
 通用的属性设置对话框,支持通过 JSON 配置动态生成设置界面 更多...
 
class  DACoreInterface
 APP的核心接口 更多...
 
class  DACsvStream
 写csv文件类支持 更多...
 
class  DACursorScoped
 用于图标保护,防止异常导致图标无法恢复 更多...
 
class  DAData
 DAAbstractData的封装 可以放入QMap,QHash中,DAData的等于操作相当于创建一个引用 更多...
 
class  DADataAbstractUndoCommand
 
class  DADataframeToVectorPointWidget
 Dataframe To VectorPoint 更多...
 
class  DADataListView
 
class  DADataManager
 DAData的数据管理类,实现数据操作的一些通知例如数据添加、删除、改名、内容改变等等 更多...
 
class  DADataManagerComboBox
 这是一个树形结构的combobox,以树形展开DataManager 更多...
 
class  DADataManagerInterface
 数据管理接口 更多...
 
class  DADataManagerTableModel
 对DataManager显示的的model 更多...
 
class  DADataManagerTreeFilterProxyModel
 代理模型用于过滤 更多...
 
class  DADataManagerTreeModel
 数据树模型,用于展示DADataManager中的数据 更多...
 
class  DADataManagerTreeWidget
 用于展示数据管理器的数据内容的树形窗口 更多...
 
class  DADataManageTableView
 用于显示数据列表的TableView 更多...
 
class  DADataManageWidget
 数据管理窗口 更多...
 
class  DADataObjectPersistUndoCommand
 文件缓存命令,此命令适合非常大的dataframe,以及前后对象是一样的场景 更多...
 
class  DADataObjectSwapUndoCommand
 基于py::object的缓存命令 更多...
 
class  DADataOperateOfDataFrameWidget
 针对DataFrame的操作窗口 更多...
 
class  DADataOperatePageWidget
 数据操作的基类窗口,所有数据操作页面继承此窗口方便管理 更多...
 
class  DADataOperateWidget
 数据操作窗口,负责数据区域操作 更多...
 
class  DADataPyDataFrame
 DAPyDataFrame 的封装 更多...
 
class  DADataPyObject
 python object变量 更多...
 
class  DADataPySeries
 DAPySeries 的封装 更多...
 
class  DADataTable
 以列为基础的数据表,和python 的 pandas.DataFrame类似 更多...
 
class  DADataTableModel
 针对DAData的model 更多...
 
class  DADataTableView
 
class  DADataWorkFlow
 创建节点命令 更多...
 
class  DADialogChartGuide
 把dataframe抽取两列转换为两个double-vector 更多...
 
class  DADialogCreatePivotTable
 PivotTable参数设置 更多...
 
class  DADialogDataframeColumnCastToDatetime
 to_datetime参数设置 更多...
 
class  DADialogDataframeColumnCastToNumeric
 针对da_dataframe.da_cast_to_num函数的参数设置对话框 更多...
 
class  DADialogDataFrameDataSearch
 
class  DADialogDataFrameDataSelect
 dataselect参数设置 更多...
 
class  DADialogDataFrameEvalDatas
 evaldatas参数设置 更多...
 
class  DADialogDataFrameQueryDatas
 querydatas参数设置 更多...
 
class  DADialogDataFrameSeriesSelector
 
class  DADialogDataFrameSort
 
class  DADialogInsertNewColumn
 
class  DADialogPythonArgs
 用于维护python args的基类dialog 更多...
 
class  DADir
 这个类定义了DA的固定路径,包括临时目录,配置文件目录等路径 更多...
 
class  DADockingAreaInterface
 此接口负责整个app的dock区域 更多...
 
class  DADumpCapture
 Dump文件捕获类 更多...
 
struct  DAEnumTraits
 枚举类型特性模板,用于定义枚举与字符串的映射关系 更多...
 
class  DAEvenFilterDragPlotWithGuide
 这个是针对DAAppFigureWidget的事件过滤器,可以为DAAppFigureWidget提供拖曳功能 更多...
 
class  DAExportToPngSettingDialog
 
class  DAFigureElementSelection
 用于存放绘图元素 更多...
 
class  DAFigureFactory
 用于生成DAFigureWidget的工厂类,如果有继承的DAFigureWidget,则需要继承此工厂类提供DAFigureWidget* 更多...
 
class  DAFigureTreeModel
 
class  DAFigureTreeView
 绘图树 更多...
 
class  DAFigureWidget
 绘图窗口 更多...
 
class  DAFigureWidgetCommandAttachItem
 添加Item 更多...
 
class  DAFigureWidgetCommandBase
 DAFigureWidget命令的基本体 更多...
 
class  DAFigureWidgetCommandCreateChart
 创建绘图 更多...
 
class  DAFigureWidgetCommandRemoveChart
 移除绘图 更多...
 
class  DAFigureWidgetCommandResizeWidget
 设置绘图中窗体的尺寸 更多...
 
class  DAFigureWidgetOverlay
 DAFigureWidget编辑遮罩 更多...
 
class  DAFigureWidgetSettingWidget
 figure设置窗口 更多...
 
class  DAFilePathEditWidget
 打开文件编辑窗口,可通过此窗口选中一个文件路径 更多...
 
class  DAFontEditPannelWidget
 
class  DAGenericIndexedContainer
 通用索引容器模板类,为底层容器提供循环索引功能 更多...
 
class  DAGraphicsCommandsFactory
 命令工厂 更多...
 
class  DAGraphicsDrawRectSceneAction
 绘制矩形action 更多...
 
class  DAGraphicsDrawTextItemSceneAction
 绘制文本action 更多...
 
class  DAGraphicsItem
 DAGraphicsView的基本元件 更多...
 
class  DAGraphicsItemFactory
 DAGraphicsItem的工厂类,工厂类负责DAGraphicsItem的反射工作 更多...
 
class  DAGraphicsItemGroup
 QGraphicsItemGroup的继承 更多...
 
class  DAGraphicsLabelItem
 The DAGraphicsLabelItem class 更多...
 
class  DAGraphicsLayout
 场景图层 更多...
 
class  DAGraphicsLinkItem
 绘制连接线的item 更多...
 
class  DAGraphicsMarkItem
 DAGraphicsView的基本元件 更多...
 
class  DAGraphicsPixmapItem
 支持缩放编辑的图片item 更多...
 
class  DAGraphicsPixmapItemSettingWidget
 
class  DAGraphicsRectItem
 矩形图元 更多...
 
class  DAGraphicsResizeableItem
 用于调整大小的item 更多...
 
class  DAGraphicsResizeableItemControlPointInfo
 控制点信息 更多...
 
class  DAGraphicsResizeableItemPalette
 DAGraphicsResizeableItem对应的样式 更多...
 
class  DAGraphicsRubberBandItem
 橡皮筋(范围选框)item 更多...
 
class  DAGraphicsScene
 这是带着undostack的GraphicsScene 此QGraphicsScene支持: 更多...
 
class  DAGraphicsStandardTextItem
 QGraphicsTextItem是一个非常复杂的item,里面包含了QWidgetTextControl多达3000行,暂时不尝试写一个类似的控件 更多...
 
class  DAGraphicsTextItem
 支持缩放编辑的文本框Item 更多...
 
class  DAGraphicsView
 支持缩放和拖动的GraphicsView 更多...
 
class  DAGraphicsViewOverlayMouseMarker
 用于显示十字线的遮罩窗口 更多...
 
class  DAGuideTabWidget
 
class  DAInterfaceHelper
 interface的辅助类,可以继承它,也可以持有它 更多...
 
class  DAMessageHandlerGlobalValues_Private
 此单例管理DAMessageHandler的全局变量 更多...
 
class  DAMessageLogItem
 包含了一个信息的所有内容 更多...
 
class  DAMessageLogsModel
 用于显示全局消息的model 更多...
 
class  DAMessageLogsModelPrivate
 
class  DAMessageLogsSortFilterProxyModel
 对message的SortFilterProxyModel,用于进行消息过滤 更多...
 
class  DAMessageLogViewWidget
 用于显示全局的消息 更多...
 
class  DAMessageQueueProxy
 这是一个全局的日志队列,所有的qdebug相关的消息都会推入这个队列中 更多...
 
class  DAMimeData
 mime的基类 更多...
 
class  DAMimeDataForData
 支持多个DAData下DataFrame的多个Series 更多...
 
class  DANodeGraphicsScene
 DAAbstractNodeGraphicsItem对应的QGraphicsScene,通过此scene,管理DAWorkFlow内容 更多...
 
class  DANodeItemSettingWidget
 
class  DANodeLinkItemSettingWidget
 链接设置 更多...
 
class  DANodeLinkPoint
 用于表征连节点信息的数据 更多...
 
class  DANodeLinkPointDrawDelegate
 linkpoint的绘制代理 更多...
 
class  DANodeListWidget
 用于显示节点,并支持拖曳到view视图中 更多...
 
class  DANodeListWidgetItem
 
class  DANodeMetaData
 保存节点元数据 节点元数据由工厂进行管理 更多...
 
class  DANodeMimeData
 节点移动的mime data 更多...
 
class  DANodePalette
 节点相关的调色板,这里封装了节点相关的大部分颜色, 更多...
 
class  DANodeSettingWidget
 节点信息设置窗口 更多...
 
class  DANodeTreeWidget
 用于显示节点,并支持拖曳到view视图中 更多...
 
class  DANodeTreeWidgetItem
 
class  DAPathLineEdit
 封装ctkPathLineEdit,便于进行文件选择 更多...
 
class  DAPenEditWidget
 画笔编辑窗口 颜色按钮+线型选择+线宽 ┏┓┍━━━━┓┍━━┓ ┗┛┗━━━━┛┗━━┛ 更多...
 
class  DAPenStyleComboBox
 Qt::PenStyle for QComboBox 更多...
 
class  DAPluginManager
 此类为插件管理类,作为单例,管理整个程序的插件加载和释放 更多...
 
class  DAPluginManagerDialog
 
class  DAPluginOption
 用于插件的加载操作 更多...
 
class  DAProcess
 对QProcess的封装 更多...
 
class  DAProcessWithThread
 带线程的Process 更多...
 
class  DAProjectInterface
 负责总体工程的接口 更多...
 
class  DAProperties
 参考Java Properties 类封装的属性类,负责SA的属性传递 更多...
 
class  DAPropertiesGroup
 属性组 更多...
 
class  DAPyDataFrame
 非模板类的DataFrame 更多...
 
class  DAPyDataframeColumnsListWidget
 列举dataframe所有的columns 更多...
 
class  DAPyDataFrameTableModel
 针对DAPyDataFrame的table model 更多...
 
class  DAPyDataFrameTableView
 
class  DAPyDType
 对numpy.dtype的封装 更多...
 
class  DAPyDTypeComboBox
 dtype选择器 此combox构建时默认插入如下信息: 更多...
 
class  DAPyGridDataTableModel
 这个类专门针对网格数据显示,用于QwtGridRasterData数据,会定义一个x序列,定义一个y序列,和值 更多...
 
class  DAPyIndex
 对pandas.index的封装 更多...
 
class  DAPyInterpreter
 python 环境管理类 此类设计为单例 更多...
 
class  DAPyModule
 模块的基类 更多...
 
class  DAPyModuleNumpy
 numpy 更多...
 
class  DAPyModulePandas
 对应pandas的包 更多...
 
class  DAPyObjectWrapper
 这是针对pubind11::object的封装 更多...
 
class  DAPyScripts
 这个是da外部脚本的总调度,此类设计为单例,会加载软件安装目录下的PyScripts文件夹的固定脚本 此类在初始化的时候就会加载对应的脚本,da的业务逻辑将使用这些脚本进行 更多...
 
class  DAPyScriptsDataFrame
 对da_dataframe.py的封装,集成了dataframe的操作 更多...
 
class  DAPyScriptsDataProcess
 封装的da_io.py 更多...
 
class  DAPyScriptsIO
 封装的da_io.py 更多...
 
class  DAPySeries
 对Pandas.Series的Qt封装 更多...
 
class  DAPySeriesListView
 
class  DAPySeriesTableModel
 用于显示一系列series 更多...
 
class  DAPySeriesTableView
 
class  DAPythonSignalHandler
 Python线程到Qt主线程的通信处理器 更多...
 
class  DAPyWorkBench
 
class  DARecentFilesManager
 管理“最近打开文件”列表,支持自动过滤失效路径、菜单集成 更多...
 
class  DARenameColumnsNameDialog
 表头改名对话框 更多...
 
class  DARibbonAreaInterface
 这个接口管理了AppRibbon区域的相关操作 更多...
 
class  DARowTable
 以行为基础的数据表 更多...
 
class  DAScrollArea
 QScrollArea特化 更多...
 
class  DASettingContainerWidget
 这是一个类似QStackedWidget的窗体,只内部有一个scallview 更多...
 
class  DASettingDialog
 设置对话框 更多...
 
class  DASettingPageCommon
 
class  DASettingWidget
 一个基于列表索引的设置页面 更多...
 
class  DAShapeEditPannelWidget
 针对形状的编辑 更多...
 
class  DASignalBlockers
 支持多个变量执行类似QSingalBlocker的操作 更多...
 
class  DAStandardItemDataDataframe
 针对DAData的dataframe的item 更多...
 
class  DAStandardItemDataDataframeSeries
 针对DAData的dataframe下的series的item 更多...
 
class  DAStandardItemPlot
 
class  DAStandardItemPlotItem
 针对QwtPlotItem的StandardItem类 更多...
 
class  DAStandardItemPlotScale
 针对坐标轴QwtScaleWidget的StandardItem类 更多...
 
class  DAStandardNodeConstValue
 常数节点 更多...
 
class  DAStandardNodeConstValueGraphicsItem
 常数节点 更多...
 
class  DAStandardNodeInputOutput
 标准输入输出节点 更多...
 
class  DAStandardNodeInputOutputGraphicsItem
 
class  DAStandardNodeLinkGraphicsItem
 标准的连线 更多...
 
class  DAStandardNodeLinkPointDrawDelegate
 绘制连接点的代理 更多...
 
class  DAStandardNodePixmapGraphicsItem
 标准的可resize的pixmap GraphicsItem,可以作为节点的图片显示 更多...
 
class  DAStandardNodeRectGraphicsItem
 标准的可resize的rect GraphicsItem,可以作为节点的内容显示 更多...
 
class  DAStandardNodeSvgGraphicsItem
 标准的可resize的svg GraphicsItem,可以作为节点的图片显示 更多...
 
class  DAStandardNodeTextGraphicsItem
 标准的可resize的GraphicsTextItem,可以作为需要输入文本内容的节点显示 更多...
 
class  DAStandardNodeWidgetGraphicsItem
 此类类似QGraphicsProxyWidget,实现了窗口的封装 更多...
 
class  DAStatusBarInterface
 
class  DAStatusBarWidget
 状态栏窗口 更多...
 
class  DATable
 支持稀疏存储和各种算法的表格类 更多...
 
class  DATextReadWriter
 用于读写文件,但可以多线程调用,通过信号槽传递结果 更多...
 
class  DAThreadSafeMessageQueue_Private
 一个线程安全的队列,所有的 更多...
 
class  DATimeFormatEditWidget
 时间设置窗口 用于设置时间的格式 更多...
 
class  DAToolBox
 针对workflow节点显示的ToolBox 更多...
 
class  DATranslatorManeger
 翻译器管理 更多...
 
class  DATree
 通用树形结构数据存储 支持任意拷贝和赋值 更多...
 
class  DATreeItem
 基本树形结构的条目,是SAAbstractData的基类,提供了名称和图标以及父子关系管理功能 SAItem可用SATree进行管理,形成树形结构 更多...
 
class  DATreeModel
 针对DATree的通用model 更多...
 
class  DATreeModelPrivate
 
class  DATriangleMarkSymbol
 三角点数据标记 更多...
 
class  DATxtFileImportDialog
 
class  DAUIExtendInterface
 DAAppUIInterface下面的扩展模块 更多...
 
class  DAUIInterface
 界面相关的接口 更多...
 
class  DAUniqueIDGenerater
 id生成器 更多...
 
class  DAVariantTableModel
 对DATable<QVariant>显示的的model 更多...
 
class  DAVariantTableModelSetDataCommand
 
class  DAVector
 系列数据,系列允许设置名字 更多...
 
class  DAWaitCursorScoped
 一个等待鼠标的保护类 更多...
 
class  DAWordWrapItemDelegate
 
class  DAWorkbenchAboutDialog
 
class  DAWorkFlow
 基本的工作流,这个也是总工厂,汇总了所有插件的工厂 更多...
 
class  DAWorkFlowEditWidget
 工作流绘图窗口 更多...
 
class  DAWorkFlowExecuter
 工作流任务的执行者,执者和workflow通过信号传递信息,在workflow中,执行者是在一个单独线程中 更多...
 
class  DAWorkFlowGraphicsScene
 The DAWorkFlowGraphicsScene class 更多...
 
class  DAWorkFlowGraphicsView
 用于节点显示的GraphicsView 更多...
 
class  DAWorkFlowNodeItemSettingWidget
 节点设置窗口 更多...
 
class  DAWorkFlowNodeListWidget
 工作流节点显示窗口 更多...
 
class  DAWorkFlowOperateWidget
 工作流绘图建模窗口 更多...
 
class  DAXMLConfig
 用于生成xml配置文件的类 更多...
 
class  DAXMLElementSerialization
 针对xml文件序列化,实现类似二进制文件一样<<和>>的序列化 更多...
 
class  DAXMLFileInterface
 所有支持xml文件保存的类继承于它,从而提供saveToXml和loadFromXml接口 更多...
 
class  DAXmlHelper
 DAProjectInterface::getProjectVersion的版本号会通过setVersionNumber设置进DAXmlHelper DAXmlHelper会根据QVersionNumber来进行低版本的兼容 更多...
 
class  DAXMLProtocol
 SA XML协议的读写类 sa xml协议主要用于保存qvariant类型数据,形如 更多...
 
class  DAZipArchive
 zip档案 更多...
 
class  DAZipArchiveTask_ArchiveFile
 把文件压缩到压缩包的任务 更多...
 
class  DAZipArchiveTask_ByteArray
 保存/加载Byte任务 更多...
 
class  DAZipArchiveTask_ChartItem
 把QwtPlotItem写zip命令 更多...
 
class  DAZipArchiveTask_LoadDataManager
 
class  DAZipArchiveTask_Xml
 保存/加载xml文件的任务 更多...
 
class  DAZipArchiveThreadWrapper
 DAZipArchive的多线程封装,此类内部维护着一个线程,封装了 更多...
 
struct  pair_hash
 Hash function for std::pair to be used in unordered containers 更多...
 
class  ValueWithIndex
 

类型定义

using FpPreposeDump = std::function< QString() >
 函数指针,这个函数指针会在形成dump文件之前执行,要求返回形成dump文件的完整路径,如果没有会赋予一个默认的
 
using FpPostDump = std::function< void(const QString &dumpPath, bool success) >
 
template<typename EnumType >
using DAEnumEntry = std::pair< EnumType, const char * >
 
typedef DACsvStream &(* DACsvWriterFunction) (DACsvStream &)
 
typedef std::shared_ptr< DAXMLProtocolDAXMLProtocolPtr
 

枚举

enum class  DAChartTypes {
  Curve , Scatter , Bar , ErrorBar ,
  Box , Spectrogram , Unknow = 1000
}
 图表类型 更多...
 
enum class  DAWorkbenchFeatureType { Workflow = 1 , Data = 2 , Chart = 4 , All = 0xFF }
 工作台区域类型 更多...
 
enum class  AspectDirection { East , South , West , North }
 方向
 
enum  DAGraphicsCommandIDType {
  CmdID_GraphicsBegin = 0x100 , CmdID_ItemAdd = CmdID_GraphicsBegin + 1 , CmdID_ItemRemove = CmdID_GraphicsBegin + 2 , CmdID_ItemMove = CmdID_GraphicsBegin + 3 ,
  CmdID_ItemsMove = CmdID_GraphicsBegin + 5 , CmdID_ItemResize = CmdID_GraphicsBegin + 7 , CmdID_ItemResizeWidth = CmdID_GraphicsBegin + 8 , CmdID_ItemResizeHeight = CmdID_GraphicsBegin + 9 ,
  CmdID_ItemRotation = CmdID_GraphicsBegin + 10 , CmdID_ItemsAdd = CmdID_GraphicsBegin + 11 , CmdID_ItemsRemove = CmdID_GraphicsBegin + 12 , CmdID_ItemGrouping = CmdID_GraphicsBegin + 50 ,
  CmdID_ItemUnGrouping = CmdID_GraphicsBegin + 51 , CmdID_ItemTextDocumentWrapper = CmdID_GraphicsBegin + 100 , CmdID_ItemTextHtmlContentChanged = CmdID_GraphicsBegin + 101 , CmdID_GraphicsEnd = 0x200
}
 定义了Graphics相关的command id,用于标记相同的redo/undo 更多...
 
enum  DAGraphicsItemType {
  ItemType_GraphicsItem_Begin = QGraphicsItem::UserType + 10 , ItemType_DAGraphicsItem_Begin = ItemType_GraphicsItem_Begin + 1 , ItemType_DAGraphicsItem = ItemType_DAGraphicsItem_Begin + 1 , ItemType_DAGraphicsStandardTextItem = ItemType_DAGraphicsItem_Begin + 1 ,
  ItemType_DAGraphicsLabelItem = ItemType_DAGraphicsItem_Begin + 2 , ItemType_DAGraphicsItemGroup = ItemType_DAGraphicsItem_Begin + 3 , ItemType_DAGraphicsMarkItem = ItemType_DAGraphicsItem_Begin + 4 , ItemType_DAGraphicsResizeableItem_Begin = ItemType_DAGraphicsItem_Begin + 900 ,
  ItemType_DAGraphicsResizeableItem = ItemType_DAGraphicsResizeableItem_Begin + 1 , ItemType_DAGraphicsRectItem = ItemType_DAGraphicsResizeableItem_Begin + 10 , ItemType_DAGraphicsTextItem = ItemType_DAGraphicsResizeableItem_Begin + 12 , ItemType_DAGraphicsPixmapItem = ItemType_DAGraphicsResizeableItem_Begin + 14 ,
  ItemType_DAGraphicsResizeableItem_End = ItemType_DAGraphicsResizeableItem_Begin + 1000 , ItemType_DAGraphicsLinkItem_Begin = ItemType_DAGraphicsResizeableItem_End + 1 , ItemType_DAGraphicsLinkItem = ItemType_DAGraphicsLinkItem_Begin + 1 , ItemType_DAGraphicsLinkItem_End = ItemType_DAGraphicsLinkItem_Begin + 500 ,
  ItemType_DAGraphicsItem_End = ItemType_DAGraphicsLinkItem_End + 1
}
 Item Type 枚举 更多...
 
enum  KeyPoint {
  TopLeft = 0 , TopCenter , TopRight , CenterLeft ,
  Center , CenterRight , BottomLeft , BottomCenter ,
  BottomRight , None = 128
}
 定义一个形状的9个关键位置点 更多...
 
enum  DANodeGraphicsItemType {
  ItemType_GraphicsNodeItemTypeStart = QGraphicsItem::UserType + 500 , ItemType_GraphicsNodeItem = ItemType_GraphicsNodeItemTypeStart + 1 , ItemType_GraphicsNodeObject = ItemType_GraphicsNodeItemTypeStart + 2 , ItemType_GraphicsNodeLinkItem = ItemType_GraphicsNodeItemTypeStart + 3 ,
  ItemType_GraphicsStandardNodePixmapItem = ItemType_GraphicsNodeItemTypeStart + 4 , ItemType_GraphicsStandardNodeSvgItem = ItemType_GraphicsNodeItemTypeStart + 5 , ItemType_GraphicsStandardWidgetItem = ItemType_GraphicsNodeItemTypeStart + 6 , ItemType_GraphicsStandardRectItem = ItemType_GraphicsNodeItemTypeStart + 7 ,
  ItemType_GraphicsStandardTextItem = ItemType_GraphicsNodeItemTypeStart + 8 , ItemType_GraphicsNodeItemTypeEnd = QGraphicsItem::UserType + 999 , ItemType_GraphicsNodeUserType = ItemType_GraphicsNodeItemTypeEnd + 1000
}
 定义本程序的Graphics item类型 更多...
 

函数

DACoreInterfacegetAppCorePtr ()
 
void app_register_all_metatypes ()
 初始化所有元对象,此函数一次性注册所有模块的元对象
 
void addInfoLogMessage (const std::string &msg)
 
void addWarningLogMessage (const std::string &msg)
 
void addCriticalLogMessage (const std::string &msg)
 
bool qaxobject_is_null (QAxObject *obj)
 判断QAxObject指针是否为空,如果不为空,判断AxObject是否为空,两个之一为空返回true
 
std::size_t qHash (const DAData &key, std::size_t seed)
 
void serialize_out_scale_widge (QDataStream &out, const QwtPlot *chart, int axis)
 
void serialize_in_scale_widge (QDataStream &in, QwtPlot *chart, int axis)
 
QDataStream & operator<< (QDataStream &out, const DA::DAChartItemSerialize::Header &f)
 
QDataStream & operator>> (QDataStream &in, DA::DAChartItemSerialize::Header &f)
 
QHash< int, std::pair< DAChartItemSerialize::FpSerializeIn, DAChartItemSerialize::FpSerializeOut > > initChartItemSerialize ()
 
QDataStream & operator<< (QDataStream &out, const DAFigureWidget *p)
 
QDataStream & operator>> (QDataStream &in, DAFigureWidget *p)
 
uint qHash (const DA::AspectDirection &key, uint seed) noexcept
 
 DAShapeKeyPoint (KeyPoint kp=KeyPoint::Center)
 
bool isValid () const
 
QPoint rectKeyPoint (const QRect &r) const
 关键点在矩形的绝对
 
QPointF rectKeyPoint (const QRectF &r) const
 关键点在矩形的绝对
 
KeyPoint value () const
 
DAShapeKeyPoint & operator= (KeyPoint kp)
 
bool operator== (KeyPoint kp) const
 
bool standardItemIterator (QStandardItem *startItem, std::function< bool(QStandardItem *, QStandardItem *) > fun, bool firstColumnOnly=false)
 
void _initializeRotatingSpdlog (const spdlog::filename_t &filename, int maxfile_size=1048576 *10, int maxfile_counts=5, int flush_every_sec=15, bool output_stdout=true, bool async_logger=true)
 初始化旋转日志
 
void daMessageHandler (QtMsgType type, const QMessageLogContext &context, const QString &msg)
 消息回调
 
void _initializeConsolSpdlog (int flush_every_sec, bool async_logger)
 初始化控制台日志
 
void daUnregisterMessageHandler ()
 注销
 
void daRegisterRotatingMessageHandler (const QString &filename, int maxfile_size, int maxfile_counts, int flush_every_sec, bool output_stdout, bool async_logger)
 注册一个旋转文件的消息处理
 
void daRegisterRotatingMessageHandler (const std::string &filename, int maxfile_size, int maxfile_counts, int flush_every_sec, bool output_stdout, bool async_logger)
 
void daRegisterConsolMessageHandler (int flush_every_sec, bool async_logger)
 注册控制台的消息处理
 
void daSetMsgQueueRecordMsgType (QtMsgType type)
 设置记录进入全局消息队列的消息等级,默认为QtWarningMsg
 
void daSetMessagePattern (const QString &p)
 设置消息的模板
 
void daDisableMessageQueueCapture ()
 禁止MessageQueueCapture,如果针对一些qDebug、qInfo不想被捕获的,可以调用此函数,次数消息不会推入队列中,但会被spdlog写入文件中
 
void daEnableMessageQueueCapture ()
 允许MessageQueueCapture
 
bool daIsEnableMessageQueueCapture ()
 判断当前是否运行消息捕获
 
QDebug operator<< (QDebug debug, const DAPluginManager &fmg)
 
QDebug operator<< (QDebug debug, const DAPluginOption &po)
 operator <<
 
std::vector< double > toVectorDouble (const DAPySeries &ser)
 series 转换为vector< double >
 
QVector< double > toQVectorDouble (const DAPySeries &ser)
 series 转换为QVector< double >
 
template<typename _IT , typename _IT_Index , typename _IT_RES >
void copy_out_of_indexs (_IT input_begin, _IT input_end, _IT_Index index_begin, _IT_Index index_end, _IT_RES output_begin, size_t inputIndexStart=0)
 把索引范围之外的内容拷贝
 
template<typename _IT , typename _IT_Index , typename _IT_RES >
void copy_inner_indexs (_IT input_begin, _IT input_end, _IT_Index index_begin, _IT_Index index_end, _IT_RES output_begin, size_t inputIndexStart=0)
 把索引范围之内的内容拷贝
 
template<typename _IT , typename _IT_Index , typename _IT_RES >
void copy_inner_indexs (_IT input_begin, _IT_Index index_begin, _IT_Index index_end, _IT_RES output_begin)
 把索引范围之内的内容拷贝
 
template<typename _IT_Index , typename _IT_Data , typename _IT_OldDataArr , typename _IT_NewDataArr >
void insert_inner_indexs (_IT_Index index_be_insert_begin, _IT_Index index_be_insert_end, _IT_Data data_be_insert_begin, _IT_OldDataArr old_data_begin, _IT_OldDataArr old_data_end, _IT_NewDataArr new_data_begin)
 此函数作用是根据提供的待插入数组insert_data和待插入索引index_be_insert(这两者长度需要一致) ,以及需要插入的数组old_data,程序根据insert_data和index_be_insert插入到old_data相应的位置,形成new_data ,index_be_insert是以new_data为基准,也就是说new_data[index_be_insert[i]] == insert_data[i]
 
template<typename _IT , typename _IT_Index , typename _IT_RES >
void split_with_indexs (_IT input_begin, _IT input_end, _IT_Index index_begin, _IT_Index index_end, _IT_RES outputInnerIndex_begin, _IT_RES outputOutOfIndex_begin, size_t inputIndexStart=0)
 根据提供的索引把一个序列分解为两个结集 ,其中 outputInnerIndex_begin存放在提供范围内的结果 outputOutOfIndex_begin存放提供的索引范围外的结果
 
template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class OutputIterator , class ThreeOperation >
OutputIterator transform (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator3 first3, OutputIterator result_first, ThreeOperation three_op)
 transform 3参数的transform,对std::transform的扩展,适用于3参数
 
template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class InputIterator4 , class OutputIterator , class FourOperation >
OutputIterator transform (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator3 first3, InputIterator4 first4, OutputIterator result_first, FourOperation four_op)
 transform 4参数的transform,对std::transform的扩展,适用于4参数
 
template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class InputIterator4 , class InputIterator5 , class OutputIterator , class FiveOperation >
OutputIterator transform (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator3 first3, InputIterator4 first4, InputIterator5 first5, OutputIterator result_first, FiveOperation five_op)
 transform 4参数的transform,对std::transform的扩展,适用于5参数
 
template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class InputIterator4 , class InputIterator5 , class InputIterator6 , class OutputIterator , class SixOperation >
OutputIterator transform (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator3 first3, InputIterator4 first4, InputIterator5 first5, InputIterator6 first6, OutputIterator result_first, SixOperation six_op)
 transform 6参数的transform,对std::transform的扩展,适用于6参数
 
template<typename T >
DADataTable< T >::TablePtr take_by_value (const DADataTable< T > &table, const QString &field, T value)
 
template<typename T >
DADataTable< T >::TablePtr take_by_value (const DADataTable< T > &table, int c, T value)
 逐行遍历,把指定列的内容和值一致的行保留,形成一个新的表
 
template<typename T >
QPair< QList< typename DADataTable< T >::TablePtr >, QList< T > > group_by (const DADataTable< T > &table, const QString &field)
 groupby 对某个字段执行group by操作
 
template<typename T >
bool operator< (const _DAValueWithIndex< T > &a, const _DAValueWithIndex< T > &b)
 
template<typename T >
std::shared_ptr< DAVector< _DAValueWithIndex< T > > > makeIndexSeries (const typename DADataTable< T >::SeriesPtr &p)
 把序列转换为带序号的序列
 
template<typename T >
void order_by (DADataTable< T > &table, const QString &field)
 
template<typename T >
void order_by (DADataTable< T > &table, int c)
 
template<typename T >
QDebug operator<< (QDebug debug, const DADataTable< T > &t)
 
int calculatePrecision (double value)
 精度计算,可以通过此函数确认浮点数转换时所需要的精度 由于此函数使用在本文件的各种模板函数中,因此必须定义为内联
 
template<typename T >
QString toQString (const T &value)
 toQString
 
template<>
QString toQString< double > (const double &value)
 特化double
 
template<>
QString toQString< float > (const float &value)
 特化float
 
template<typename T >
bool fromQString (const QString &str, T &result)
 将QString转换为类型T,通过引用返回转换结果,并返回一个bool值表示转换是否成功
 
template<typename EnumType >
QString enumToString (EnumType value)
 将枚举值转换为对应的字符串
 
template<typename EnumType >
EnumType stringToEnum (const QString &s, EnumType defaultValue=DAEnumTraits< EnumType >::defaultValue)
 将字符串转换为对应的枚举值
 
template<typename T >
QList< T > qset_to_qlist (const QSet< T > &v)
 
template<typename T >
QSet< T > qlist_to_qset (const QList< T > &v)
 
template<typename T >
QList< T > unique_qlist (const QList< T > &v)
 
template<typename T >
DARowTable< T >::TablePtr takeByValue (const DARowTable< T > &table, const QString &field, T value)
 
template<typename T >
DARowTable< T >::TablePtr takeByValue (const DARowTable< T > &table, int r, T value)
 takeByValue 类似于select * from table where table.r = value
 
template<typename T >
QPair< QList< typename DARowTable< T >::TablePtr >, QList< T > > groupby (const DARowTable< T > &table, const QString &field)
 groupby 对某个字段执行group by操作
 
template<typename T >
bool operator< (const ValueWithIndex< T > &a, const ValueWithIndex< T > &b)
 
template<typename T >
std::shared_ptr< DAVector< ValueWithIndex< T > > > makeIndexSeries (const typename DARowTable< T >::SeriesPtr &p)
 把序列转换为带序号的序列
 
template<typename T >
void orderBy (DARowTable< T > &table, const QString &field)
 
template<typename T >
void orderBy (DARowTable< T > &table, int r)
 
template<typename T1 , typename T2 >
DATable< T1 > table_transfered (const da_vector_table< T2 > &table, std::function< T1(const T2 &) > tr_fun)
 实现DATable向da_vector_table的转换
 
QDebug operator<< (QDebug debug, const DAColorTheme &th)
 
DACsvStreamoperator<< (DACsvStream &csv, const QString &str)
 写csv文件内容,字符会自动转义为csv文件支持的字符串,不需要转义
 
DACsvStreamoperator<< (DACsvStream &csv, short d)
 
DACsvStreamoperator<< (DACsvStream &csv, unsigned short d)
 
DACsvStreamoperator<< (DACsvStream &csv, int d)
 
DACsvStreamoperator<< (DACsvStream &csv, unsigned int d)
 
DACsvStreamoperator<< (DACsvStream &csv, long d)
 
DACsvStreamoperator<< (DACsvStream &csv, unsigned long d)
 
DACsvStreamoperator<< (DACsvStream &csv, qlonglong d)
 
DACsvStreamoperator<< (DACsvStream &csv, qulonglong d)
 
DACsvStreamoperator<< (DACsvStream &csv, double d)
 
DACsvStreamoperator<< (DACsvStream &csv, float d)
 
DACsvStreamoperator>> (DACsvStream &csv, QStringList &d)
 
DACsvStreamendl (DACsvStream &s)
 endl
 
DACsvStreamoperator<< (DACsvStream &s, DACsvWriterFunction f)
 
QDebug operator<< (QDebug debug, const DADir &c)
 重载QDebug针对DADir的<<操作符,打印RootTempPath和RootConfigPath位置
 
QString makeUniqueString (const QSet< QString > &stringSet, const QString &str, const QString &split)
 生成一个唯一的字符串
 
int getSystemCodePage ()
 
std::wstring qstringToSystemWString (const QString &qstr)
 QString转换为系统编码的wstring
 
std::wstring stringToSystemWString (const std::string &str)
 
template<typename Ite >
QString vectorToString (Ite begin, Ite end, const QString &split=";")
 将容器中的元素转换为字符串,并使用指定的分隔符连接。
 
template<typename T , typename FpStrCastTo >
std::vector< T > stringToVector (const QString &str, FpStrCastTo fp, const QString &split=";")
 将字符串按照指定的分隔符分割,并将分割后的字符串转换为指定类型的元素存储在vector中。
 
QJsonObject write_item_to_json (DATreeItem *item)
 
QJsonObject write_property_to_json (QMap< QString, QVariant > *prop)
 
bool read_item_from_json (const QJsonObject &json, DATreeItem *item)
 
QString toJson (const DATree *tree)
 把satree转换为json string
 
bool fromJson (const QString &json, DATree *tree)
 从标准json sting转换到tree
 
QDebug & operator<< (QDebug &dbg, const DATree &tree)
 
void copy_childs (const DATreeItem *from, DATreeItem *to)
 
QDebug & print_one_item (QDebug &dbg, const DATreeItem &item, const QString &prefix, bool isNewline=true)
 
QDebug & print_item_and_child_items (QDebug &dbg, const DATreeItem &item, int indent)
 
QDebug & operator<< (QDebug &dbg, const DATreeItem &item)
 输出到qdebug
 
bool getStringIntValue (const QString &valuestring, int &v)
 获取int值
 
bool getStringUIntValue (const QString &valuestring, unsigned int &v)
 获取unsigned int值
 
bool getStringULongLongValue (const QString &valuestring, unsigned long long &v)
 获取unsigned ll值
 
bool getStringRealValue (const QString &valuestring, qreal &v)
 获取qreal值
 
bool getStringBoolValue (const QString &valuestring)
 获取为bool类型
 
DAUTILS_API QString variantToString (const QVariant &var)
 QVariant转为QString
 
DAUTILS_API QVariant stringToVariant (const QString &var, const QString &typeName)
 variantToString的逆方法
 
DAUTILS_API QString doubleToString (double a)
 把double转换为字符串,并且尽量不丢失精度,不会转换为xxe-5这样的情况
 
template<typename T >
QString converVariantToBase64String (const QVariant &var)
 把QVariant转换为Base64字符
 
template<typename T >
QVariant converBase64StringToVariant (const QString &base64)
 把Base64字符转换为对应变量
 
DAXMLProtocolPtr makeXMLProtocolPtr ()
 
std::size_t qHash (const std::shared_ptr< DAAbstractNode > &ptr, std::size_t seed) noexcept
 
bool operator== (const DANodeLinkPoint &a, const DANodeLinkPoint &b)
 DANodeLinkPoint 的等于号操作符
 
bool operator== (const DANodeLinkPoint &a, const QString &b)
 
bool operator< (const DANodeLinkPoint &a, const DANodeLinkPoint &b)
 
QDebug operator<< (QDebug dbg, const DANodeLinkPoint &a)
 
uint qHash (const DANodeLinkPoint &key, uint seed)
 
QDataStream & operator<< (QDataStream &out, const DANodeMetaData &b)
 
QDataStream & operator>> (QDataStream &in, DANodeMetaData &b)
 
QDebug operator<< (QDebug debug, const DANodeMetaData &c)
 
uint qHash (const DANodeMetaData &key, uint seed=0)
 

变量

const int gc_dachart_version = 1
 < 版本标示,每个序列化都应该带有版本信息,用于对下兼容
 
const std::uint32_t gc_dachart_magic_mark = 0x5A6B4CF1
 
const std::uint32_t gc_dachart_magic_mark2 = 0xAA123456
 
const std::uint32_t gc_dachart_magic_mark3 = 0x12345678
 
const std::uint32_t gc_dachart_magic_mark4 = 0xAAB23498
 
const QDataStream::Version gc_datastream_version = QDataStream::Qt_5_12
 
const QRectF c_figurewidget_default_size = QRectF(0.05, 0.05, 0.9, 0.9)
 
QHash< QString, DAGraphicsItemFactory::FpItemCreate > * g_pRegistedItems = nullptr
 存放已经注册的item
 
QHash< int, DAGraphicsItemFactory::FpItemCreate > * g_pRegistedItems2 = nullptr
 
const std::vector< QwtSymbol::Style > s_symbols
 
int g_figure_cnt = 0
 绘图的数量,仅限当前程序创建计数
 
const int c_arg_line_space = 35
 两个输入输出节点的间隔
 
const int c_stadardnodeitem_default_width_space = 35
 item的默认宽度
 
const int c_linkpoint_width = 10
 连接点的宽度,针对东西方向的,如果变为南北方向,宽高要调换
 
const int c_linkpoint_height = 15
 连接点的高度,针对东西方向的,如果变为南北方向,宽高要调换
 

详细描述

序列化类都是带异常的,使用中需要处理异常

注解
command一定要注意创建移动陷阱,所谓创建移动陷阱,是指一个创建命令,会new出一个item,移动命令,会把new出的item的位置记录, 这时,创建命令在析构时,如果做了delete创建item的处理,那么就会造成野指针
command要注意合并命令陷阱,所谓合并命令陷阱是值命令如果有合并功能时,不能在push如栈后再对命令有任何操作,因为如果命令已经合并, 此命令会被QUndoStack销毁,命令指针是野指针,任何push之后的操作都可能出现异常

枚举类型说明

◆ DAChartTypes

enum class DA::DAChartTypes
strong

图表类型

枚举值
Curve 

曲线

Scatter 

散点

Bar 

柱状

ErrorBar 

误差棒

Box 

箱线图

Spectrogram 

谱图

◆ DAGraphicsCommandIDType

定义了Graphics相关的command id,用于标记相同的redo/undo

枚举值
CmdID_GraphicsBegin 

Graphics相关的command id的起始

CmdID_ItemAdd 

item移动

CmdID_ItemRemove 

item移动

CmdID_ItemMove 

item移动

CmdID_ItemsMove 

多个item移动

CmdID_ItemResize 

item resize

CmdID_ItemResizeWidth 

item resize width

CmdID_ItemResizeHeight 

item resize height

CmdID_ItemRotation 

item rotation

CmdID_ItemsAdd 

items添加

CmdID_ItemsRemove 

items删除

CmdID_ItemGrouping 

item Grouping

CmdID_ItemUnGrouping 

item Grouping

CmdID_ItemTextDocumentWrapper 

Text Document Wrapper

CmdID_ItemTextHtmlContentChanged 

Text Document Wrapper

CmdID_GraphicsEnd 

Graphics相关的command id的结束

◆ DAGraphicsItemType

Item Type 枚举

注解
此数值不要轻易改动,会影响旧工程文件的加载,xml文件记录了此枚举值,根据枚举值来创建item,如果数值变化,会导致旧工程文件创建异常
枚举值
ItemType_GraphicsItem_Begin 

针对DAGraphicsResizeableItem的类型开始

ItemType_DAGraphicsItem_Begin 

DAGraphicsItem Type的开始范围

ItemType_DAGraphicsItem 

针对DAGraphicsResizeableItem的类型

ItemType_DAGraphicsStandardTextItem 

标准文本

ItemType_DAGraphicsLabelItem 

标准label

ItemType_DAGraphicsItemGroup 

针对DAGraphicsItemGroup的类型

ItemType_DAGraphicsMarkItem 

针对DAGraphicsMarkItem的类型

ItemType_DAGraphicsResizeableItem 

针对DAGraphicsResizeableItem的类型

ItemType_DAGraphicsRectItem 

针对DAGraphicsRectItem的类型

ItemType_DAGraphicsTextItem 

针对DAGraphicsTextItem的类型

ItemType_DAGraphicsPixmapItem 

针对DAGraphicsPixmapItem的类型

ItemType_DAGraphicsLinkItem_Begin 

针对DAGraphicsLinkItem的开始

ItemType_DAGraphicsLinkItem 

针对DAGraphicsLinkItem的类型

ItemType_DAGraphicsLinkItem_End 

DAGraphicsLinkItem的结束范围

◆ DANodeGraphicsItemType

定义本程序的Graphics item类型

枚举值
ItemType_GraphicsNodeItem 

针对DANode的item

ItemType_GraphicsNodeObject 

针对DANode的item

ItemType_GraphicsNodeUserType 

用户自定义的类型需要在此基础上加

◆ DAWorkbenchFeatureType

enum class DA::DAWorkbenchFeatureType
strong

工作台区域类型

枚举值
Workflow 

工作流

Data 

数据

Chart 

图表

◆ KeyPoint

定义一个形状的9个关键位置点

  • 1---2---3 | | 4---5---6 | | 7---8---9 @icode */ class DAGRAPHICSVIEW_API DAShapeKeyPoint { public: /** @brief 定义一个形状的9个关键位置点
    • @details
    • @endicode 1---2---3 | | 4---5---6 | | 7---8---9

函数说明

◆ _initializeConsolSpdlog()

void DA::_initializeConsolSpdlog ( int  flush_every_sec,
bool  async_logger 
)

初始化控制台日志

参数
刷新日志
async_logger

◆ _initializeRotatingSpdlog()

void DA::_initializeRotatingSpdlog ( const spdlog::filename_t &  filename,
int  maxfile_size = 1048576 * 10,
int  maxfile_counts = 5,
int  flush_every_sec = 15,
bool  output_stdout = true,
bool  async_logger = true 
)

初始化旋转日志

参数
filename
maxfile_size
maxfile_counts
flush_every_sec
output_stdout
async_logger

◆ calculatePrecision()

int DA::calculatePrecision ( double  value)
inline

精度计算,可以通过此函数确认浮点数转换时所需要的精度 由于此函数使用在本文件的各种模板函数中,因此必须定义为内联

参数
value浮点数值
返回

◆ converBase64StringToVariant()

template<typename T >
QVariant DA::converBase64StringToVariant ( const QString &  base64)

把Base64字符转换为对应变量

参数
base64
返回

◆ converVariantToBase64String()

template<typename T >
QString DA::converVariantToBase64String ( const QVariant &  var)

把QVariant转换为Base64字符

参数
var
返回

◆ copy_inner_indexs() [1/2]

template<typename _IT , typename _IT_Index , typename _IT_RES >
void DA::copy_inner_indexs ( _IT  input_begin,
_IT  input_end,
_IT_Index  index_begin,
_IT_Index  index_end,
_IT_RES  output_begin,
size_t  inputIndexStart = 0 
)

把索引范围之内的内容拷贝

参数
input_begin容器起始迭代器
input_end容器终止迭代器
index_begin索引的起始迭代器
index_end索引的终止迭代器
output_begin结果的起始迭代器
注解
需要保证index_begin到index_end时有序的,如果无序,请先进行sort: ,此函数支持前向迭代器,如std::list,但性能会有欠缺,如果是自由迭代器,如std::vector,可以用另一个重载版本
std::sort(index_begin,index_end);

◆ copy_inner_indexs() [2/2]

template<typename _IT , typename _IT_Index , typename _IT_RES >
void DA::copy_inner_indexs ( _IT  input_begin,
_IT_Index  index_begin,
_IT_Index  index_end,
_IT_RES  output_begin 
)

把索引范围之内的内容拷贝

参数
input_begin容器起始迭代器
input_end容器终止迭代器
index_begin索引的起始迭代器
index_end索引的终止迭代器
output_begin结果的起始迭代器
std::sort(index_begin,index_end);

◆ copy_out_of_indexs()

template<typename _IT , typename _IT_Index , typename _IT_RES >
void DA::copy_out_of_indexs ( _IT  input_begin,
_IT  input_end,
_IT_Index  index_begin,
_IT_Index  index_end,
_IT_RES  output_begin,
size_t  inputIndexStart = 0 
)

把索引范围之外的内容拷贝

参数
input_begin容器起始迭代器
input_end容器终止迭代器
index_begin索引的起始迭代器
index_end索引的终止迭代器
output_begin结果的起始迭代器
注解
需要保证index_begin到index_end时有序的,如果无序,请先进行sort:
std::sort(index_begin,index_end);

◆ daIsEnableMessageQueueCapture()

bool DAMESSAGEHANDLER_API DA::daIsEnableMessageQueueCapture ( )

判断当前是否运行消息捕获

返回

◆ daMessageHandler()

void DA::daMessageHandler ( QtMsgType  type,
const QMessageLogContext &  context,
const QString &  msg 
)

消息回调

回调消息

参数
type
context
msg

◆ daRegisterConsolMessageHandler()

void DAMESSAGEHANDLER_API DA::daRegisterConsolMessageHandler ( int  flush_every_sec,
bool  async_logger 
)

注册控制台的消息处理

参数
flush_every_sec刷新时间
async_logger使用异步日志,默认使用

◆ daRegisterRotatingMessageHandler()

void DAMESSAGEHANDLER_API DA::daRegisterRotatingMessageHandler ( const QString &  filename,
int  maxfile_size,
int  maxfile_counts,
int  flush_every_sec,
bool  output_stdout,
bool  async_logger 
)

注册一个旋转文件的消息处理

针对qDebug等内容写入文件,且文件可以进行旋转,所谓旋转既是可以指定文件大小和文件数量,日志文件永远不会超过指定的大小和数量

通过

参见
qSetMessagePattern 可以设置输出的文本内容
注解
此函数在main函数调用
需要调用
参见
daUnregisterMessageHandler 释放
参数
filename日志文件名
maxfile_size最大文件尺寸(byte),默认10mb
maxfile_counts最大文件数量,默认5个
flush_every_sec日志定时刷新秒数,默认15秒
output_stdout输出到stdout
async_logger使用异步日志,默认使用

◆ daSetMessagePattern()

void DAMESSAGEHANDLER_API DA::daSetMessagePattern ( const QString &  p)

设置消息的模板

da消息占位符有如下:

  • {level} 代表是否打印消息等级,消息等级有debug/warn/critical/error/info五种
  • {datetime} 代表日期
  • {line} 代表打印行号
  • {fun} 代表打印函数名
  • {file} 代表打印文件名
  • {msg} 代表消息主体
    参数
    ppatter字符串,默认为[{datetime}][{line}]{msg}

◆ daSetMsgQueueRecordMsgType()

void DAMESSAGEHANDLER_API DA::daSetMsgQueueRecordMsgType ( QtMsgType  type)

设置记录进入全局消息队列的消息等级,默认为QtWarningMsg

参见
QtMsgType
参数
type

◆ daUnregisterMessageHandler()

void DAMESSAGEHANDLER_API DA::daUnregisterMessageHandler ( )

注销

注解
最后需要调用此函数进行释放

◆ doubleToString()

QString DA::doubleToString ( double  a)

把double转换为字符串,并且尽量不丢失精度,不会转换为xxe-5这样的情况

注解
此函数效率不高,但能保证doulbe转换为文本,在转换回double的精度
参数
a
返回

◆ endl()

DAUTILS_API DACsvStream & DA::endl ( DACsvStream s)

endl

参数
s
返回

◆ enumToString()

template<typename EnumType >
QString DA::enumToString ( EnumType  value)

将枚举值转换为对应的字符串

模板参数
EnumType枚举类型(自动推导)
参数
value枚举值
返回
对应的字符串,若未找到映射则返回默认值字符串
示例:
MyEnum e = MyEnum::Value;
QString str = enumToString(e); // 返回 "Value"
QString enumToString(EnumType value)
将枚举值转换为对应的字符串
Definition DAEnumStringUtils.hpp:104

◆ fromJson()

DAUTILS_API bool DA::fromJson ( const QString &  json,
DATree tree 
)

从标准json sting转换到tree

参数
jsonjsonstring
tree待修改的tree
返回
如果转换成功返回true

◆ fromQString()

template<typename T >
bool DA::fromQString ( const QString &  str,
T &  result 
)
inline

将QString转换为类型T,通过引用返回转换结果,并返回一个bool值表示转换是否成功

参数
str
result
返回

◆ getStringBoolValue()

bool DAUTILS_API DA::getStringBoolValue ( const QString &  valuestring)

获取为bool类型

参数
valuestring
返回

◆ getStringIntValue()

bool DAUTILS_API DA::getStringIntValue ( const QString &  valuestring,
int &  v 
)

获取int值

参数
valuestring
v
返回

◆ getStringRealValue()

bool DAUTILS_API DA::getStringRealValue ( const QString &  valuestring,
qreal &  v 
)

获取qreal值

参数
valuestring
v
返回

◆ getStringUIntValue()

bool DAUTILS_API DA::getStringUIntValue ( const QString &  valuestring,
unsigned int &  v 
)

获取unsigned int值

参数
valuestring
v
返回

◆ getStringULongLongValue()

bool DAUTILS_API DA::getStringULongLongValue ( const QString &  valuestring,
unsigned long long &  v 
)

获取unsigned ll值

参数
valuestring
v
返回

◆ group_by()

template<typename T >
QPair< QList< typename DADataTable< T >::TablePtr >, QList< T > > DA::group_by ( const DADataTable< T > &  table,
const QString &  field 
)

groupby 对某个字段执行group by操作

参数
table
field
返回
返回一个pair,first:group by后的结构表,second,group by的结果

◆ groupby()

template<typename T >
QPair< QList< typename DARowTable< T >::TablePtr >, QList< T > > DA::groupby ( const DARowTable< T > &  table,
const QString &  field 
)

groupby 对某个字段执行group by操作

参数
table
field
返回
返回一个pair,first:group by后的结构表,second,group by的结果

◆ insert_inner_indexs()

template<typename _IT_Index , typename _IT_Data , typename _IT_OldDataArr , typename _IT_NewDataArr >
void DA::insert_inner_indexs ( _IT_Index  index_be_insert_begin,
_IT_Index  index_be_insert_end,
_IT_Data  data_be_insert_begin,
_IT_OldDataArr  old_data_begin,
_IT_OldDataArr  old_data_end,
_IT_NewDataArr  new_data_begin 
)

此函数作用是根据提供的待插入数组insert_data和待插入索引index_be_insert(这两者长度需要一致) ,以及需要插入的数组old_data,程序根据insert_data和index_be_insert插入到old_data相应的位置,形成new_data ,index_be_insert是以new_data为基准,也就是说new_data[index_be_insert[i]] == insert_data[i]

参数
insert_data_begin待插入的数据内容起始迭代器
insert_data_end待插入的数据内容终止迭代器
index_be_insert_begin待插入的索引起始迭代器,待插入的索引长度需要大于等于std::distance(insert_data_begin,insert_data_end)
old_data_begin旧数据的开始地址
old_data_end旧数据的结束地址
new_data_begin新数据的开始地址,新数据长度应该为std::distance(insert_data_begin,insert_data_end)+std::distance(old_data_begin,old_data_end)
注解
index_be_insert是以new_data为基准,也就是说new_data[index_be_insert[i]] == insert_data[i]

◆ makeIndexSeries() [1/2]

template<typename T >
std::shared_ptr< DAVector< _DAValueWithIndex< T > > > DA::makeIndexSeries ( const typename DADataTable< T >::SeriesPtr &  p)

把序列转换为带序号的序列

参数
p
返回
用于带序号的排序用

◆ makeIndexSeries() [2/2]

template<typename T >
std::shared_ptr< DAVector< ValueWithIndex< T > > > DA::makeIndexSeries ( const typename DARowTable< T >::SeriesPtr &  p)

把序列转换为带序号的序列

参数
p
返回
用于带序号的排序用

◆ makeUniqueString()

DAUTILS_API QString DA::makeUniqueString ( const QSet< QString > &  stringSet,
const QString &  str,
const QString &  split 
)

生成一个唯一的字符串

如果str在stringSet出现过,将会在这个字符串后面加上_1,并继续判断是否在stringSet出现过出现过,直到没有为止

这个函数常用于生成一个唯一的名字

参数
stringSet字符串数组
str待检测的字符串
split分隔符,分隔符后面将加入数字
返回
返回一个不会出现在stringSet的字符串

◆ operator<<() [1/4]

DACsvStream & DA::operator<< ( DACsvStream csv,
const QString &  str 
)

写csv文件内容,字符会自动转义为csv文件支持的字符串,不需要转义

例如csv文件:

12,txt,23,34 45,num,56,56 写入的方法为:
.....
QCsvWriter csv(&textStream);
csv<<"12"<<"txt"<<"23";
csv.endLine("34");
csv<<"45"<<"num"<<"56";
csv.endLine("56");
参数
str需要写入的csv文件一个单元得字符串
返回

◆ operator<<() [2/4]

DAUTILS_API QDebug & DA::operator<< ( QDebug &  dbg,
const DATreeItem item 
)

输出到qdebug

参数
dbg
item
返回

◆ operator<<() [3/4]

QDebug DAUTILS_API DA::operator<< ( QDebug  debug,
const DADir c 
)

重载QDebug针对DADir的<<操作符,打印RootTempPath和RootConfigPath位置

参数
debug
c
返回

◆ operator<<() [4/4]

DAPLUGINSUPPORT_API QDebug DA::operator<< ( QDebug  debug,
const DAPluginOption po 
)

operator <<

参数
debug
po
返回

◆ operator==()

DAWORKFLOW_API bool DA::operator== ( const DANodeLinkPoint a,
const DANodeLinkPoint b 
)

DANodeLinkPoint 的等于号操作符

参数
a
b
返回

◆ qaxobject_is_null()

bool DAAXOFFICEWRAPPER_API DA::qaxobject_is_null ( QAxObject *  obj)

判断QAxObject指针是否为空,如果不为空,判断AxObject是否为空,两个之一为空返回true

参数
obj
返回
注解
实现位于DAAxObjectWordWrapper.cpp

◆ qstringToSystemWString()

DAUTILS_API std::wstring DA::qstringToSystemWString ( const QString &  qstr)

QString转换为系统编码的wstring

此函数主要针对windows操作系统,把QString转换为系统编码的std::wstring

◆ rectKeyPoint() [1/2]

QPoint DA::DAShapeKeyPoint::rectKeyPoint ( const QRect &  r) const

关键点在矩形的绝对

参数
r
返回

◆ rectKeyPoint() [2/2]

QPointF DA::DAShapeKeyPoint::rectKeyPoint ( const QRectF &  r) const

关键点在矩形的绝对

参数
r
返回

◆ split_with_indexs()

template<typename _IT , typename _IT_Index , typename _IT_RES >
void DA::split_with_indexs ( _IT  input_begin,
_IT  input_end,
_IT_Index  index_begin,
_IT_Index  index_end,
_IT_RES  outputInnerIndex_begin,
_IT_RES  outputOutOfIndex_begin,
size_t  inputIndexStart = 0 
)

根据提供的索引把一个序列分解为两个结集 ,其中 outputInnerIndex_begin存放在提供范围内的结果 outputOutOfIndex_begin存放提供的索引范围外的结果

参数
input_begin容器起始迭代器
input_end容器终止迭代器
index_begin索引的起始迭代器
index_end索引的终止迭代器
outputInnerIndex_begin存放在提供索引范围内的结果
outputOutOfIndex_begin存放提供的索引范围外的结果
注解
需要保证index_begin到index_end时有序的,如果无序,请先进行sort:
std::sort(index_begin,index_end);

◆ stringToEnum()

template<typename EnumType >
EnumType DA::stringToEnum ( const QString &  s,
EnumType  defaultValue = DAEnumTraits< EnumType >::defaultValue 
)

将字符串转换为对应的枚举值

模板参数
EnumType枚举类型(需显式指定)
参数
s输入字符串
defaultValue转换失败时返回的默认值(可选)
返回
对应的枚举值,若未找到映射则返回 defaultValue
示例:
MyEnum e = stringToEnum<MyEnum>("Value");
MyEnum e2 = stringToEnum<MyEnum>("invalid", MyEnum::Default);

◆ stringToVariant()

QVariant DA::stringToVariant ( const QString &  var,
const QString &  typeName 
)

variantToString的逆方法

参数
var字面值
typeName参数类型
返回
根据字面值转换回来的QVariant

◆ stringToVector()

template<typename T , typename FpStrCastTo >
std::vector< T > DA::stringToVector ( const QString &  str,
FpStrCastTo  fp,
const QString &  split = ";" 
)

将字符串按照指定的分隔符分割,并将分割后的字符串转换为指定类型的元素存储在vector中。

  • 这个模板函数接受一个QString,一个函数指针(或可调用对象)用于将字符串转换为指定类型T,
  • 以及一个分隔符。函数将字符串按照分隔符分割成多个子字符串,然后对每个子字符串调用转换函数,
  • 将结果存储在std::vector<T>中。
模板参数
T目标元素的类型。
FpStrCastTo一个可调用对象,接受一个QString参数,和一个T的默认参数,并返回一个T类型的值。例如double fromQString(const QString& s,double defaultValue = 0)
参数
str要分割和转换的源字符串。
fp用于将QString转换为T类型的函数指针或可调用对象。
split用于分割字符串的分隔符,默认为";"。
返回
返回一个std::vector<T>,包含所有转换后的元素。
int stringToInt(const QString& str) { return str.toInt(); }
QString str = "1;2;3;4;5";
std::vector<int> vec = stringToVector(str, stringToInt, ";");
// vec 现在是 {1, 2, 3, 4, 5}
std::vector< T > stringToVector(const QString &str, FpStrCastTo fp, const QString &split=";")
将字符串按照指定的分隔符分割,并将分割后的字符串转换为指定类型的元素存储在vector中。
Definition DAStringUtil.h:114

◆ table_transfered()

template<typename T1 , typename T2 >
DATable< T1 > DA::table_transfered ( const da_vector_table< T2 > &  table,
std::function< T1(const T2 &) >  tr_fun 
)

实现DATable向da_vector_table的转换

参数
table
tr_fun转换函数指针,如果不指定,默认为nullptr,直接进行赋值转换

下面演示把一个DATable< QVariant >转换为da_vector_table< qreal >:

...
DA::table_transfered< qreal, QVariant >(table,[](const QVariant& v) -> qreal { return v.toDouble(); });
@return 转换后的结果
/
template< typename T1, typename T2 >
da_vector_table< T1 > table_transfered(const DATable< T2 >& table, std::function< T1(const T2&) > tr_fun)
{
da_vector_table< T1 > res;
const typename DATable< T2 >::IndexPair sh = table.shape();
res.resize(sh.first, sh.second);
for (auto c = table.begin(); c != table.end(); ++c) {
res(c->first.first, c->first.second) = tr_fun(c->second);
}
return res;
}
template< typename T1, typename T2 >
da_vector_table< T1 > table_transfered(const DATable< T2 >& table)
{
da_vector_table< T1 > res;
const typename DATable< T2 >::IndexPair sh = table.shape();
res.resize(sh.first, sh.second);
for (auto c = table.begin(); c != table.end(); ++c) {
res(c->first.first, c->first.second) = c->second;
}
return res;
}
支持稀疏存储和各种算法的表格类
Definition DATable.hpp:26
std::pair< IndexType, IndexType > IndexPair
索引对类型
Definition DATable.hpp:30
二维表格数据结构,使用一维数组存储以提高缓存友好性
Definition da_vector_table.hpp:22
table_index_type shape() const noexcept
获取表格的形状(行数和列数)
Definition da_vector_table.hpp:1478
DATable< T1 > table_transfered(const da_vector_table< T2 > &table, std::function< T1(const T2 &) > tr_fun)
实现DATable向da_vector_table的转换
Definition DATable.hpp:1109
返回

◆ take_by_value()

template<typename T >
DADataTable< T >::TablePtr DA::take_by_value ( const DADataTable< T > &  table,
int  c,
value 
)

逐行遍历,把指定列的内容和值一致的行保留,形成一个新的表

参数
table
c
value
返回

◆ takeByValue()

template<typename T >
DARowTable< T >::TablePtr DA::takeByValue ( const DARowTable< T > &  table,
int  r,
value 
)

takeByValue 类似于select * from table where table.r = value

参数
table
r
value
返回

◆ toJson()

DAUTILS_API QString DA::toJson ( const DATree tree)

把satree转换为json string

参数
treetree指针
返回

◆ toQString()

template<typename T >
QString DA::toQString ( const T &  value)
inline

toQString

template<>
QString toQString< int >(const int& value)
{
return QString::number(value);
}
参数
value
返回

◆ toQString< double >()

template<>
QString DA::toQString< double > ( const double &  value)
inline

特化double

参数
value
返回

◆ toQString< float >()

template<>
QString DA::toQString< float > ( const float &  value)
inline

特化float

参数
value
返回

◆ toQVectorDouble()

DAPYBINDQT_API QVector< double > DA::toQVectorDouble ( const DAPySeries ser)

series 转换为QVector< double >

参数
ser
返回

◆ toVectorDouble()

DAPYBINDQT_API std::vector< double > DA::toVectorDouble ( const DAPySeries ser)

series 转换为vector< double >

参数
ser
返回

◆ transform() [1/4]

template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class InputIterator4 , class InputIterator5 , class InputIterator6 , class OutputIterator , class SixOperation >
OutputIterator DA::transform ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator3  first3,
InputIterator4  first4,
InputIterator5  first5,
InputIterator6  first6,
OutputIterator  result_first,
SixOperation  six_op 
)

transform 6参数的transform,对std::transform的扩展,适用于6参数

参数
first1参数1的开始迭代器
last1参数1的结束迭代器
first2参数2的开始迭代器
first3参数3的开始迭代器
first4参数4的开始迭代器
first5参数5的开始迭代器
first6参数6的开始迭代器
result结果的迭代器
six_op函数指针,此函数指针形式为result = fun(arg1,arg2,arg3,arg4,arg5,arg6)
返回
返回结果迭代器最后的指向

◆ transform() [2/4]

template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class InputIterator4 , class InputIterator5 , class OutputIterator , class FiveOperation >
OutputIterator DA::transform ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator3  first3,
InputIterator4  first4,
InputIterator5  first5,
OutputIterator  result_first,
FiveOperation  five_op 
)

transform 4参数的transform,对std::transform的扩展,适用于5参数

参数
first1参数1的开始迭代器
last1参数1的结束迭代器
first2参数2的开始迭代器
first3参数3的开始迭代器
first4参数4的开始迭代器
first5参数5的开始迭代器
result结果的迭代器
five_op函数指针,此函数指针形式为result = fun(arg1,arg2,arg3,arg4,arg5)
返回
返回结果迭代器最后的指向

◆ transform() [3/4]

template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class InputIterator4 , class OutputIterator , class FourOperation >
OutputIterator DA::transform ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator3  first3,
InputIterator4  first4,
OutputIterator  result_first,
FourOperation  four_op 
)

transform 4参数的transform,对std::transform的扩展,适用于4参数

参数
first1参数1的开始迭代器
last1参数1的结束迭代器
first2参数2的开始迭代器
first3参数3的开始迭代器
first4参数4的开始迭代器
result结果的迭代器
four_op函数指针,此函数指针形式为result = fun(arg1,arg2,arg3,arg4)
返回
返回结果迭代器最后的指向

◆ transform() [4/4]

template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class OutputIterator , class ThreeOperation >
OutputIterator DA::transform ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator3  first3,
OutputIterator  result_first,
ThreeOperation  three_op 
)

transform 3参数的transform,对std::transform的扩展,适用于3参数

参数
first1参数1的开始迭代器
last1参数1的结束迭代器
first2参数2的开始迭代器
first3参数3的开始迭代器
result结果的迭代器
three_op函数指针,此函数指针形式为result = fun(arg1,arg2,arg3)
返回
返回结果迭代器最后的指向

◆ variantToString()

QString DA::variantToString ( const QVariant &  var)

QVariant转为QString

此转换会以尽量可以明文的形式把QVariant转换为字符串,有些如QByteArray,无法用明文的,会转换为Base64进行保存

参数
varQVariant值
返回
转换好的字符串
参见
stringToVariant

◆ vectorToString()

template<typename Ite >
QString DA::vectorToString ( Ite  begin,
Ite  end,
const QString &  split = ";" 
)

将容器中的元素转换为字符串,并使用指定的分隔符连接。

这个模板函数接受一个迭代器范围(begin到end),遍历这个范围内的所有元素,

将它们转换为字符串,并使用指定的分隔符连接起来。转换过程使用了QString的arg方法。

模板参数
Ite迭代器类型,应该是支持*操作符和++操作符的迭代器。
参数
begin迭代器范围的开始。
end迭代器范围的结束。
split用于连接元素的分隔符,默认为";"。
返回
返回一个QString,包含所有元素,元素之间用分隔符连接。
std::vector<int> vec = {1, 2, 3, 4, 5};
QString str = vectorToString(vec.begin(),
vec.end(), ",");
// str 现在是 "1,2,3,4,5"
QString vectorToString(Ite begin, Ite end, const QString &split=";")
将容器中的元素转换为字符串,并使用指定的分隔符连接。
Definition DAStringUtil.h:73

变量说明

◆ s_symbols

const std::vector< QwtSymbol::Style > DA::s_symbols
初始值:
= { QwtSymbol::NoSymbol, QwtSymbol::Ellipse, QwtSymbol::Rect,
QwtSymbol::Diamond, QwtSymbol::Triangle, QwtSymbol::DTriangle,
QwtSymbol::UTriangle, QwtSymbol::LTriangle, QwtSymbol::RTriangle,
QwtSymbol::Cross, QwtSymbol::XCross, QwtSymbol::HLine,
QwtSymbol::VLine, QwtSymbol::Star1, QwtSymbol::Star2,
QwtSymbol::Hexagon }