Files
cbh/ElaWidgetTools/ElaMultiSelectComboBox.h
2025-09-20 01:41:33 +08:00

31 lines
1.0 KiB
C++

#ifndef ELAMULTISELECTCOMBOBOX_H
#define ELAMULTISELECTCOMBOBOX_H
#include <QComboBox>
#include "ElaProperty.h"
class ElaMultiSelectComboBoxPrivate;
class ELA_EXPORT ElaMultiSelectComboBox : public QComboBox {
Q_OBJECT
Q_Q_CREATE(ElaMultiSelectComboBox)
Q_PROPERTY_CREATE_Q_H(int, BorderRadius)
public:
explicit ElaMultiSelectComboBox(QWidget *parent = nullptr);
~ElaMultiSelectComboBox();
void setCurrentSelection(QString selection);
void setCurrentSelection(QStringList selection);
void setCurrentSelection(int index);
void setCurrentSelection(QList<int> selectionIndex);
QStringList getCurrentSelection() const;
QList<int> getCurrentSelectionIndex() const;
Q_SIGNALS:
Q_SIGNAL void itemSelectionChanged(QVector<bool> itemSelection);
Q_SIGNAL void currentTextListChanged(QStringList selectedTextList);
protected:
void paintEvent(QPaintEvent *e) override;
void showPopup() override;
void hidePopup() override;
};
#endif // ELAMULTISELECTCOMBOBOX_H