У меня есть класс, который создает случайные данные, которые я хотел бы показать в виде таблицы в главном окне.
Я добавил через Designer табличное представление в главное окно и назвал его tblData.
Я подозреваю, что проблема связана с этим, потому что, когда я вызываю конструктор, пользовательский файл с некоторой реализацией уже существует.
Я взял раздел «Подробное описание» из http://qt-project.org/doc/qt-5/qtablewidget.html в качестве руководства ….
Тем не менее, таблица остается пустой. Я не понимаю, почему … Большое спасибо.
include "mainwindow.h"#include "ui_mainwindow.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QStringList headers;
headers << "Datapoints";
Dataset *myData;
myData = new Dataset();
myData->createRandomData(10); // create a ten element vector
QVector<int> data;
data = myData->getDataVector(); // data vector created in class Dataset
qDebug() << data;
int i;
for (i = 0 ; i < data.size() ; i++){
QString datapoint;
datapoint = QString::number(data[i]);
QTableWidgetItem * newItem = new QTableWidgetItem(datapoint);
ui->tblData->setItem(i, 0, newItem); // works notqDebug() << datapoint; // works
}}
MainWindow::~MainWindow()
{
delete ui;
}
Я думаю, что вы должны определить размеры вашей таблицы, прежде чем начинать заполнять ее данными, т.е.
ui->tblData->setRowCount(data.size());
ui->tblData->setColumnCount(1);
Причина в том, что по умолчанию начальное количество строк и столбцов таблицы равно 0, поэтому вновь добавленные элементы не отображаются.