Я не очень понял в чем кокнретно вопрос, но возможно следующий код польёт немного света.
#include <QLayout>
#include <QLineEdit>
#include <QSqlQuery>
#include <QTableView>
#include <QSqlDatabase>
#include <QApplication>
#include <QSqlQueryModel>
class Widget : public QWidget {
Q_OBJECT
public:
Widget() {
initializeDatabase();
m_Model = new QSqlQueryModel(this);
m_Model->setQuery("SELECT * FROM test");
QTableView *view = new QTableView(this);
view->setModel(m_Model);
QVBoxLayout *lt = new QVBoxLayout(this);
lt->addWidget(m_LineEdit = new QLineEdit(this));
lt->addWidget(view);
connect(view, SIGNAL(clicked(QModelIndex)),
SLOT(showCellData(QModelIndex)));
}
public slots:
void showCellData(const QModelIndex & index) {
m_LineEdit->setText(m_Model->data(index).toString());
}
private:
void initializeDatabase() {
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");
db.open();
if (!db.tables().contains("test"))
db.exec("CREATE TABLE test (id integer, text varchar)");
db.exec("INSERT INTO test VALUES(1, 'text')");
}
QSqlQueryModel *m_Model;
QLineEdit *m_LineEdit;
};
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
#include "main.moc"
Смысл следующий. Создаётся тестовая база с одной таблицей (ну чтобы как можно ближе по делу), затем таблица выводится в окно. По клику на ячейки таблицы, содержимое ячейки выводится в QLineEdit.