Название: QT4:: Cannot queue arguments of type 'QAbstractSocket::SocketState' Отправлено: voral от Октябрь 30, 2009, 21:19 Делаю клиент-сервер. Изучаю работу Qthread и QTcp... .
В QT Асистенте нашел что QTcpSocket имеет сигнал stateChanged ( QAbstractSocket::SocketState ) унаследованный от QAbstractSocket. В соответствии с этим пишу: Код При коннекте клиента в консоли появляется: QObject::connect: Cannot queue arguments of type 'QAbstractSocket::SocketState' (Make sure 'QAbstractSocket::SocketState' is registered using qRegisterMetaType().) Из описания я понял, что нужно использовать qRegisterMetaType для своих классов. И вызывать там где создаются экземпляры этого самого объекта. Но ведь QAbstractSocket::SocketState QT-шная штука..... Подозреваю, что я сделал что то не так. Поправьте. Или где вставить qRegisterMetaType? #include <QAbstractSocket> - имеется Название: Re: QT4:: Cannot queue arguments of type 'QAbstractSocket::SocketState' Отправлено: andrew.k от Ноябрь 02, 2010, 21:20 Q_DECLARE_METATYPE( QAbstractSocket::SocketError); // в .h
qRegisterMetaType<QAbstractSocket::SocketError>(); // в конструкторе или где угодно, но до QObject::connect(...) Название: Re: QT4:: Cannot queue arguments of type 'QAbstractSocket::SocketState' Отправлено: andrew.k от Ноябрь 02, 2010, 21:27 Вот чего мне не удалось добиться так это использовать в сигналах и слотах свой класс и чтобы передача параметра была по ссылке.
Кто умеет? |