Napisałem sobie program (który niby ma rozwiązywać układ równań liniowych) i oparłem go na QTableWIdget (jako że nie za bardzo jeszcze jestem obeznany na modelach i widokach w QT). Problem się pojawia, gdy chcę ustawić zawartość pola run-time. Po prostu nic się nie dzieje i w zasadzie nie wiem dlaczego. Kawałek kodu:


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "ortho.h"
#include <iostream>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::changeEvent(QEvent *e)
{
    QMainWindow::changeEvent(e);
    switch (e->type()) {
    case QEvent::LanguageChange:
        ui->retranslateUi(this);
        break;
    default:
        break;
    }
}

void MainWindow::on_pushButton_clicked()
{

    int size = this->ui->tableWidget->rowCount();
    ublas::matrix<long double> A(size,size);
    ublas::vector<long double> b(size);

    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++)
            A(i,j) = this->ui->tableWidget->item(i,j)->text().toLongLong(NULL, 10);

        std::cout << A << std::endl;

    for (int i = 0; i < size; i++)
        b(i) = this->ui->tableWidget_3->item(i,0)->text().toLongLong(NULL, 10);

    std::cout << b << std::endl;
    ublas::vector<long double> x = ortho_solve (A, b);

    std::cout << x << std::endl;

    for (int i = 0; i < size; i++)
    {
       QTableWidgetItem item;
       QString s = QString::number(x(i), 10);
       std::cout << s.toStdString() << std::endl;
       item.setTextAlignment(Qt::AlignCenter);
       item.setText(s);
       item.setTextColor(QColor(0, 255, 0));

       this->ui->tableWidget_4->setItem(i, 0, &item);
    }

}

void MainWindow::on_lineEdit_textChanged(QString s)
{
    int size = s.toInt();
    if (size < 1) return;
    ui->tableWidget->setRowCount(size);
    ui->tableWidget->setColumnCount(size);
    ui->tableWidget_3->setRowCount(size);
    ui->tableWidget_4->setRowCount(size);
}

Z dokumentacji nie mogę wyczytać co robię źle


Software is like sex, It's better when it's free.

Pokochaj -Wall -Wextra -pedantic -g -pg
Kompilator i debugger to twoi najlepsi przyjaciele