[Qt-interest] Strange slot problem

Marek Bronowicki marek at cyberdeus.pl
Mon Apr 19 10:12:04 CEST 2010


Hello

my QT: QT 4.6.2 MSVC 2008

my db.h looks like this:

class DB : public QObject
{
     Q_OBJECT

public:
     DB(QObject *parent);

[...]

signals:
     void ConnectionSuccess();
     void ConnectionFailure();
     void ShowError(QString, QSqlError);

private slots:
     void CSuc();
     void ConnectionFailureSLOT();
     void ErrorMsg(QString query, QSqlError error);

};


and db.cpp looks like this:


DB::DB(QObject *parent) : QObject(parent)
{
     QObject::connect(this,SIGNAL(ConnectionSuccess()),this,SLOT(CSuc()));
     
QObject::connect(this,SIGNAL(ShowError(QString,QSqlError)),this,SLOT(ErrorMsg(QString,QSqlError)));
  // other code
}

void DB::CSuc()
{
   // code
}

void DB::ErrorMsg(QString query, QSqlError error)
{
     QDialog *d = new QDialog((QWidget *)this->parent());
     d->setWindowTitle("Błąd zapytania!");
     QTextEdit *errmsg = new QTextEdit(d);
     errmsg->setHtml("Zapytanie zgłosiło błąd<br />"+query+"<br /><br 
/>"+error.text());
     QVBoxLayout *dialoglayout = new QVBoxLayout(d);
     dialoglayout->addWidget(errmsg);
     d->setLayout(dialoglayout);
     d->exec();
}

the strangest thing is that ErrorMsg slot is working properly but CSuc 
slot is Object::connect: No such slot DB::CSuc()


Any help will be thankful :)


Best Regards,
Marek Bronowicki




More information about the Qt-interest-old mailing list