You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWATI/Include/iBase/iPlugin/ZxComboBoxCbxRadio.h

69 lines
1.6 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
#include <QComboBox>
#include "Defines.h"
#include "iPlugin_global.h"
class ZxComboBoxCbxRadioWx;
// 方案一:
// 自定义Combobox支持CheckBox、Radio双重选
// 与 ZxComboBoxCbxRadioWx 一起实现该功能
class I_PLUGIN_EXPORT ZxComboBoxCbxRadio :public QComboBox
{
Q_OBJECT
public:
explicit ZxComboBoxCbxRadio(QWidget* parent = 0);
~ZxComboBoxCbxRadio();
void setInfos(QStringList& listAllItems, \
QStringList listCbxs = QStringList(), \
QString sRadio = "");
/// @brief 参数传递,确定默认值
/// @param listAllItems 所有数据项
/// @param vecIndexCbxs 复选项索引,默认为空
/// @param indexRadio 单选项索引,默认为-1
/// @note 如果indexRadio为-1且vecIndexCbxs非空
/// 则指定indexRadio为vecIndexCbxs第一个
void setInfos(QStringList& listAllItems, \
QVector<int> vecIndexCbxs = VecInt(), \
int indexRadio = -1);
public:
virtual void showPopup();
virtual void hidePopup();
private:
void makesureSubWx();
public slots:
/// @brief 选择改变
/// @param vecIndexCbxs 复选项索引,非空
/// @param indexRadio 单选项索引,>= 0
/// @note 如果不满足上述条件,则不触发
void slotSelChanged(const VecInt vecIndexCbxs, \
const int indexRadio);
protected:
//重写失去焦点事件
void focusOutEvent(QFocusEvent *e);
signals:
// 选择改变
void sigSelChanged(const VecInt, const int);
private:
ZxComboBoxCbxRadioWx* m_pWxSub;
};