Problem z signal i slot



  • Witam,
    Mam zrobiony taki conect:

    @connect(u,
    SIGNAL(requestGreen(const QString,const QString)),
    this,
    SLOT(createGreen(const QString, const QString)));@

    w klasie utilis
    funkcja green

    @void utilis::green(const QString name,const QString p){
    emit requestGreen(name,p);
    }@

    plik utilis.h
    @signals:
    void requestGreen(const QString, const QString);@

    i w main

    @public slots:
    void createGreen(const QString,const QString);@

    Po wywołaniu funkcji green z klasy utilis, program się wyłącza, przy debugowaniu zatrzymuje się przy funkcji w moc

    @void utilis::requestGreen(const QString _t1, const QString _t2)
    {
    void _a[] = { 0, const_cast<void>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
    QMetaObject::activate(this, &staticMetaObject, 0, _a);
    }@

    na linijce:
    @QMetaObject::activate(this, &staticMetaObject, 0, _a);@

    i teraz nie wiem gdzie jest błąd, i czemu tak się dzieje, czy ktoś może pomóc ?



  • slot w funkcji main ??

    Czy to ma prawo działać ?? poza tym w main nie ma wskaźnika this.
    Sygnały i sloty służą do połączenia dwóch obiektów.
    sygnał z obiektu "a" łączymy ze zlotem obiektu "b"


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.