LINUX.ORG.RU

Qt и Q_REGISTER_METATYPE — что это такое, и как его использовать?


0

0

Для класса QAbstractSocket генерируется сигнал error с параметром QAbstractSocket::SocketError socketError. В документации написано: "QAbstractSocket::SocketError is not a registered metatype, so for queued connections, you will have to register it with Q_REGISTER_METATYPE", но про этот Q_REGISTER_METATYPE нет упоминания вообще нигде. Сталкивался-ли кто-нить с этим жЫвотным? (А я пока погуглю, мало-ли).

Ответ на: комментарий от one_more_hokum

до connect() нужно сделать

qRegisterMetaType<QAbstractSocket::SocketError>("QAbstractSocket::SocketError") ;

Q_REGISTER_METATYPE что-то я не нашёл в Qt 4.3.3, сейчас им багу закину.

alex_custov ★★★★★
()
Ответ на: комментарий от alex_custov

Спасибо! Я счас тоже в гуглекоде про qRegisterMetaType нашёл. Буду попробовать. (А почему этот enum по дефолту не зарегистрирован?)

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от alex_custov

Странно, даже после

int metaType=qRegisterMetaType<QAbstractSocket::SocketError>("QAbstractSocket::Sock etError");

говорит в консоль следующее:

Object::connect: No such signal QTcpSocket::error(QAbstractSocket::SocketError socketError)

isRegistered(metaType) говорит, что тип успешно зарегистрирован. Регистрацию и connect делаю в конструкторе, класс наследую от QObject.

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от one_more_hokum

макрос Q_OBJECT в начале определения класса вызывается ?

Eshkin_kot ★★
()
Ответ на: комментарий от one_more_hokum

блин, не тупи.

qRegisterMetaType<QAbstractSocket::SocketError>("QAbstractSocket::SocketError") ;
connect(&socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(slotError(QAbstractSocket::SocketError)));

>>No such signal QTcpSocket::error(QAbstractSocket::SocketError socketError)

аргументы connect должны быть параметризованы, без переменных.

http://doc.trolltech.com/4.4/signalsandslots.html

alex_custov ★★★★★
()
Ответ на: комментарий от alex_custov

От ить! И действительно туплю... Надо еды съесть какой-нить.

one_more_hokum ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.