自定义类(信号函数和槽函数)
继承QObject
//类的定义
class Task :public QObject
{
Q_OBJECT
public:
Task();
signals:
private slots:
};
//类的实现
Task::Task():QObject(nullptr)
{
}
发送自定义结构信号
//自定义结构体类型
typedef struct _Max_Data
{
std::string ip;
std::vector<float> data;
}Max_Data;
Q_DECLARE_METATYPE(Max_Data);
//类的定义
class Task :public QObject
{
Q_OBJECT
public:
Task();
signals:
void sigTask(QVariant);
private slots:
void SlotTask(QVariant);
private:
void init();
};
//类的实现
Task::Task():QObject(nullptr)
{
QObject::connect(this, SIGNAL(sigTask(QVariant)), this, SLOT(SlotTask(QVariant)));
//QObject::connect(this, SIGNAL(sigTask(QVariant sigdata)), this, SLOT(SlotTask(QVariant slotdata));绑定失败
init();
}
void Task::init()
{
Max_Data data;
data.ip = "127.0.0.1";
data.data.push_back(1.3);
data.data.push_back(1);
QVar