Qt сигналы слоты

186
18 сентября 2018, 23:20

Пытаюсь соединить два объекта путем сигнально-слотового метода, но в итоге выдает ошибки такого рода:

connect( core, SIGNAL(cls()), tcpSender, SLOT(clearMap()) );

Ошибка:

no matching function for call to 'projectname::connect(ccore*&, const char*, tcpconnect*&, const char*)'

  • cls() обычный сигнал.
  • clearMap() обычный слот без параметров.
connect( hdlcHandler, SIGNAL(sendObject(structura)), core, SLOT(receiveObject(structura)) );

Ошибка:

no matching function for call to 'projectname::connect(hdlc*&, const char*, core*&, const char*)'

  • сигнал - sendObject(mapObject);
  • слот - void receiveObject(mapObject obj);


 struct structura
    {
    int num1;
    float num2;
    float num3;
    QString str;
    float num4;
    float num5;
    float num6;
    float num7;
    float num8;
    float num9;};
Answer 1

Если core и tcpSender не Qobject указатели , то в connect передайте Qobject указатели. А если они обьекты классов, унаследованные от Qobject, то нужно передать их адреса, и функция должна быть в области видимости Qobject

Qobject::connect( &hdlcHandler, SIGNAL(sendObject(structura)),
                &core, SLOT(receiveObject(structura)) );
READ ALSO
Определение классов qt

Определение классов qt

Изучаю qt и столкнулся с таким (обсолютно не понятным для меня) примером:

190
c++ stl: сортировка и копирование

c++ stl: сортировка и копирование

Подскажите пожалуйста, есть ли возможность средствами STL отсортировать вектор в новый вектор?

179
Java выводит already in use: bind, но порт не занят

Java выводит already in use: bind, но порт не занят

Выводит ошибку BindException: Address already in use: bind, хотя порт не занят

160
Объясните что такое JNDI подробно

Объясните что такое JNDI подробно

Что такое JNDI? Как я понял это api для получения EJB бинов, те

204