Trying to connect a pair of mutually exclusive radio buttons to slots in a different class.
Signals originate from class EnterLog when a radio button is clicked and should be received in ControlDB. The slot functions are defined as public slots in ControlDB.
Here is the code in ControlDB:
public slots:
void setSingleModeEdit();
void setSingleModeEntry();
public slots:
void setSingleModeEdit();
void setSingleModeEntry();
To copy to clipboard, switch view to plain text mode
void ControlDB::setSingleModeEdit() {
qDebug() << "single display mode changed to EDIT";
query.prepare("UPDATE preferences set defaultSingleView = ?");
query.addBindValue("EDIT");
query.exec();
}
void ControlDB::setSingleModeEntry() {
qDebug() << "single display mode changed to ENTRY";
query.prepare("UPDATE preferences set defaultSingleView = ?");
query.addBindValue("ENTRY");
query.exec();
}
void ControlDB::setSingleModeEdit() {
qDebug() << "single display mode changed to EDIT";
QSqlDatabase db = QSqlDatabase::database(ctrlConn);
QSqlQuery query(db);
query.prepare("UPDATE preferences set defaultSingleView = ?");
query.addBindValue("EDIT");
query.exec();
}
void ControlDB::setSingleModeEntry() {
qDebug() << "single display mode changed to ENTRY";
QSqlDatabase db = QSqlDatabase::database(ctrlConn);
QSqlQuery query(db);
query.prepare("UPDATE preferences set defaultSingleView = ?");
query.addBindValue("ENTRY");
query.exec();
}
To copy to clipboard, switch view to plain text mode
Here is the code in EnterLog:
ControlDB ctrl;
connect(ui->rbEdit, SIGNAL(clicked()), &ctrl, SLOT(setSingleModeEdit()));
connect(ui->rbEntry, SIGNAL(clicked()), &ctrl, SLOT(setSingleModeEntry()));
ControlDB ctrl;
connect(ui->rbEdit, SIGNAL(clicked()), &ctrl, SLOT(setSingleModeEdit()));
connect(ui->rbEntry, SIGNAL(clicked()), &ctrl, SLOT(setSingleModeEntry()));
To copy to clipboard, switch view to plain text mode
The problem is, the signals don't get received. What am I doing wrong here?
Bookmarks