Qt QSqlQuery bindValue funciona con? pero no con: marcadores de posición

Estoy trabajando con SQLite, haciendo inserción en la tabla. Folowwing

QSqlQuery testQuery(QString("INSERT INTO test(testcol) VALUES(?)"));
testQuery.bindValue(0, someQStringObg);
testQuery.exec();

trabaja, pero

QSqlQuery testQuery(QString("INSERT INTO test(testcol) VALUES(:val)"));
testQuery.bindValue(":val", someQStringObg);
testQuery.exec();

no lo hagas testQuery.lastError (). text () devuelveNo consulta No se puede recuperar la fila

No tengo idea de por qué las cosas son así, pero realmente quiero descubrirlo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta