#include "widget.h" #include "ui_widget.h" #include /*******************************************/ //从 moc_widget.cpp 里复制的代码 #include #include struct qt_meta_stringdata_Widget_t { QByteArrayData data[13]; char stringdata[125]; }; #define QT_MOC_LITERAL(idx, ofs, len) \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ qptrdiff(offsetof(qt_meta_stringdata_Widget_t, stringdata) + ofs \ - idx * sizeof(QByteArrayData)) \ ) static const qt_meta_stringdata_Widget_t qt_meta_stringdata_Widget = { { QT_MOC_LITERAL(0, 0, 6), // "Widget" QT_MOC_LITERAL(1, 7, 15), // "nickNameChanged" QT_MOC_LITERAL(2, 23, 0), // "" QT_MOC_LITERAL(3, 24, 10), // "strNewName" QT_MOC_LITERAL(4, 35, 12), // "countChanged" QT_MOC_LITERAL(5, 48, 9), // "nNewCount" QT_MOC_LITERAL(6, 58, 12), // "valueChanged" QT_MOC_LITERAL(7, 71, 11), // "dblNewValue" QT_MOC_LITERAL(8, 83, 11), // "setNickName" QT_MOC_LITERAL(9, 95, 8), // "setCount" QT_MOC_LITERAL(10, 104, 8), // "nickName" QT_MOC_LITERAL(11, 113, 5), // "count" QT_MOC_LITERAL(12, 119, 5) // "value" }, "Widget\0nickNameChanged\0\0strNewName\0" "countChanged\0nNewCount\0valueChanged\0" "dblNewValue\0setNickName\0setCount\0" "nickName\0count\0value" }; #undef QT_MOC_LITERAL /*******************************************/ Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); /* QByteArrayData db; //qDebug()<metaObject()->className(); //查询信号 QByteArray ba = QMetaObject::normalizedSignature("callSth(int, double)"); qDebug()<<"callSth: "<metaObject()->indexOfMethod( ba ); //查询槽 ba = QMetaObject::normalizedSignature("recvSth(int, double)"); qDebug()<<"recvSth: "<metaObject()->indexOfMethod( ba ); } void Widget::recvSth(int a, double b) { qDebug()<= sizeof(QArrayData)); return reinterpret_cast(this) + offset; } const void *data() const { Q_ASSERT(size == 0 || offset < 0 || size_t(offset) >= sizeof(QArrayData)); return reinterpret_cast(this) + offset; } * * */