sentenceModel->setTable("sentence");
sentenceModel->setRelation(Sentence_ActionId,
sentenceModel->setRelation(Sentence_CharacterId,
sentenceModel->setSort(Sentence_Text, Qt::AscendingOrder);
sentenceModel->setHeaderData(Sentence_Text, Qt::Horizontal, tr("Text"));
sentenceModel->setHeaderData(Sentence_Sound, Qt::Horizontal, tr("Sound"));
sentenceModel->setHeaderData(Sentence_Language, Qt::Horizontal, tr("Language"));
sentenceModel->setHeaderData(Sentence_ActionId, Qt::Horizontal, tr("Action"));
sentenceModel->setHeaderData(Sentence_CharacterId, Qt::Horizontal, tr("Character"));
sentenceModel->select();
sentenceTableView->setModel(sentenceModel);
sentenceTableView->setColumnHidden(Sentence_Id, true);
sentenceTableView->resizeColumnsToContents(); .....
..... sentenceModel = new QSqlRelationalTableModel(this);
sentenceModel->setTable("sentence");
sentenceModel->setRelation(Sentence_ActionId,
QSqlRelation("action", "id", "text"));
sentenceModel->setRelation(Sentence_CharacterId,
QSqlRelation("character", "id", "text"));
sentenceModel->setSort(Sentence_Text, Qt::AscendingOrder);
sentenceModel->setHeaderData(Sentence_Text, Qt::Horizontal, tr("Text"));
sentenceModel->setHeaderData(Sentence_Sound, Qt::Horizontal, tr("Sound"));
sentenceModel->setHeaderData(Sentence_Language, Qt::Horizontal, tr("Language"));
sentenceModel->setHeaderData(Sentence_ActionId, Qt::Horizontal, tr("Action"));
sentenceModel->setHeaderData(Sentence_CharacterId, Qt::Horizontal, tr("Character"));
sentenceModel->select();
sentenceTableView = new QTableView;
sentenceTableView->setModel(sentenceModel);
sentenceTableView->setItemDelegate(new QSqlRelationalDelegate(this));
sentenceTableView->setSelectionMode(QAbstractItemView::SingleSelection);
sentenceTableView->setSelectionBehavior(QAbstractItemView::SelectRows);
sentenceTableView->setColumnHidden(Sentence_Id, true);
sentenceTableView->resizeColumnsToContents(); .....
To copy to clipboard, switch view to plain text mode
void MainWidget::addSentence()
{
int row = 0;
if (sentenceTableView->currentIndex().isValid())
row = sentenceTableView->currentIndex().row();
sentenceModel->insertRow(row);
QModelIndex index
= sentenceModel
->index
(row, Sentence_Text
);
sentenceTableView->setCurrentIndex(index);
sentenceTableView->edit(index);
}
void MainWidget::addSentence()
{
int row = 0;
if (sentenceTableView->currentIndex().isValid())
row = sentenceTableView->currentIndex().row();
sentenceModel->insertRow(row);
QModelIndex index = sentenceModel->index(row, Sentence_Text);
sentenceTableView->setCurrentIndex(index);
sentenceTableView->edit(index);
}
To copy to clipboard, switch view to plain text mode
Bookmarks