#ifndef MULTISELECTOR_H #define MULTISELECTOR_H #include #include "QDebug" #include "QMap" #include "QPushButton" #include "QLabel" #include #include "QHBoxLayout" #include #include #include "QFile" namespace Ui { class MultiSelector; } class MultiSelector : public QWidget { Q_OBJECT public: explicit MultiSelector(QWidget *parent = nullptr); ~MultiSelector(); public slots: void setCategory(QStringList list); void setCurrent(QString value); void setList(QMap > list); void setList(QMap > list, QString current); signals: void confirmValue(QVariant); private slots: void on_BtnClicked(); void on_ListClicked(QModelIndex index); void on_ListDoubleClicked(QModelIndex index); void reBuildList(void); protected: bool event(QEvent *event); private: bool isHaveCategory = false; private: Ui::MultiSelector *ui; QMap > stringmap; }; #endif // MULTISELECTOR_H