Название: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: Alex Custov от Ноябрь 17, 2009, 22:35 с помощью qobject_cast:
Код
Цитировать /usr/include/qt4/QtDBus/qdbusabstractinterface.h: In member function ‘void QDBusAbstractInterface::qt_check_for_QOBJECT_macro(const T&) const [with T = QDBusInterface]’: /usr/include/qt4/QtCore/qobject.h:441: instantiated from ‘T qobject_cast(QObject*) [with T = QDBusInterface*]’ dbus.cpp:151: instantiated from here /usr/include/qt4/QtDBus/qdbusabstractinterface.h:66: error: void value not ignored as it ought to be ??? Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: MoPDoBoPoT от Ноябрь 17, 2009, 22:56 В описании этого класса отсутствует макрос Q_OBJECT, может поэтому?
Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: Alex Custov от Ноябрь 17, 2009, 23:08 В описании этого класса отсутствует макрос Q_OBJECT, может поэтому? Да, посмотрел, отсутствует. Что характерно, в QDBusAbstractInterface он есть. Не консистентно, и не документировано. Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: Пантер от Ноябрь 17, 2009, 23:29 Попробуй static_cast.
Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: BRE от Ноябрь 18, 2009, 00:08 с помощью qobject_cast: А какой сигнал ты обрабатываешь?Код
Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: Alex Custov от Ноябрь 18, 2009, 00:16 А какой сигнал ты обрабатываешь? от dbus сервера на стороне клиента. Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: BRE от Ноябрь 18, 2009, 00:24 А какой сигнал ты обрабатываешь? от dbus сервера на стороне клиента. bool QDBusConnection::connect ( const QString & service, const QString & path, const QString & interface, const QString & name, QObject * receiver, const char * slot ) Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: Alex Custov от Ноябрь 18, 2009, 02:32 Сигналы идут от QDBusConnection, а не от QDBusInterface. bool QDBusConnection::connect ( const QString & service, const QString & path, const QString & interface, const QString & name, QObject * receiver, const char * slot ) Здрасте :) Коннектить можно и через QDBusInterface: Код
Вставляем флешку, видим в консоли "true / QDBusAbstractInterface" ;) Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: pastor от Ноябрь 18, 2009, 02:53 А откуда берется сигнал DeviceAdded?
Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: Alex Custov от Ноябрь 18, 2009, 04:35 Название: Re: почему нельзя кастить QObject* к QDBusInterface*? Отправлено: BRE от Ноябрь 18, 2009, 08:59 Здрасте :) Согласен, парюсь. :)Так и приводи sender к QDBusAbstractInterface, ведь весь функционал в нем. |