; 看下是不是false
每执行一次connect();槽就会多响应一次,把connect()放在构造函数中,或者disconnect后再connect
connect(this,SIGNAL(drawTFRect(bool)),this,SIGNAL(receiveTFDrawMsg(bool)));
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
qDebug() << db.lastError();
QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=DB.mdb");
db.setDatabaseName(dsn);
if(!db.open()) { //此处每次都会打开失败
QMessageBox::critical(0, QObject::tr("Database Error"),db.lastError().text());
return false;
}
else
{
QMessageBox::information(0,"hello world","Open Database success!",QMessageBox::Ok);
}
本文探讨了QT中信号与槽的正确连接方法,包括避免重复响应的问题解决策略,并展示了如何使用QODBC驱动连接Access数据库的具体步骤及可能遇到的错误处理。
4095

被折叠的 条评论
为什么被折叠?



