Я пытаюсь прототип окна с QTableView
. За ним еще нет базы данных, но в какой-то момент будет. Я не могу заставить табличное представление ничего показать. Я получаю прямоугольник с пробелом. Насколько я могу судить, я смотрел примеры в Интернете и, кажется, все делаю правильно.QTableView ничего не показывает
Я создал QTableView
объект с GUI Builder, а затем добавил следующий код сразу после вызова ui.setupUi(this);
// set up prototype table model to hold dummy data
QSqlTableModel * model = new QSqlTableModel(this);
model->setTable("Errors");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
// set header names
model->setHeaderData(0, Qt::Horizontal, QObject::tr("Error Number"));
model->setHeaderData(1, Qt::Horizontal, QObject::tr("Message"));
model->setHeaderData(2, Qt::Horizontal, QObject::tr("Details"));
// insert a dummy record
{
QSqlRecord record;
QSqlField field1("Errno", QVariant::Int);
field1.setValue(1);
record.insert(0, field1);
QSqlField field2("Msg", QVariant::String);
field2.setValue(QString("Unable to perform snapshot"));
record.insert(1, field2);
QSqlField field3("Details", QVariant::String);
field3.setValue(QString("Unable to perform snapshot. Please try again"));
record.insert(2, field3);
model->insertRecord(0, record);
}
// insert a dummy record
{
QSqlRecord record;
QSqlField field1("Errno", QVariant::Int);
field1.setValue(1);
record.insert(0, field1);
QSqlField field2("Msg", QVariant::String);
field2.setValue(QString("Unable to perform snapshot"));
record.insert(1, field2);
QSqlField field3("Details", QVariant::String);
field3.setValue(QString("Unable to perform snapshot. Please try again"));
record.insert(2, field3);
model->insertRecord(1, record);
}
ui.errMsgsTableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui.errMsgsTableView->setModel(model);
ui.errMsgsTableView->show();
Кто-нибудь есть какие-либо предложения? Что мне не хватает?
Действительно ли модель содержит данные? Откуда вы знаете, что ваши вставки преуспели? –
Очевидно, это не так. Вставки модели не работают с «невозможностью найти Ошибки таблицы». – user3407352
Поддерживает ли QT то, что я пытаюсь сделать? Используйте QTableView без реальной базы данных за ней? Просто загрузите материал для прототипирования? – user3407352