#ifndef MONITORITEMSDLG_H #define MONITORITEMSDLG_H #include #include #include "global.h" QT_BEGIN_NAMESPACE namespace Ui { class monitorItemsDlg; } QT_END_NAMESPACE class MonitorItemsDlg : public QDialog { Q_OBJECT public: MonitorItemsDlg(QWidget *parent = nullptr); ~MonitorItemsDlg(); void initial(); signals: void generateMonitor(QString,QList); //生成监控 public slots: void onUpdateItems(QList,bool refresh); //更新当前设备列表 void onSelectItems(QList); //更新当前选中的设备 void onGenerateClicked(); void onMonitorCreated(QList); //创建后的设备列表 void onItemChanged(QStandardItem *item); //item勾选事件 private: void resetSelect(); //重置选中 void setChildrenCheckState(QStandardItem *parent, Qt::CheckState state); void traverseSelectStandardItemModel(QStandardItemModel *model,Qt::CheckState); //遍历选中 void traverseSelectStandardItem(QStandardItem *item, int depth,Qt::CheckState); //遍历选中 QList getCheckedItems(QStandardItem* parentItem); //返回checked对象 QList getTreeViewCheckedItems(QTreeView* treeView); //返回checked对象 private: Ui::monitorItemsDlg *ui; QStandardItemModel* _modelAll; //图中所有item QStandardItemModel* _modelSelect; //生成的item }; #endif