Witajcie.
W QT mam zrobioną tabelę i sam sobie ustalam jej rozmiar może być np. 3x3
I teraz po kliknięciu przycisku OK chciałbym dwiema pętlami for zrobić tak, aby zczytywać te wartości, które wpisałem do komórek tabeli i żeby je przechowywać w tablicy dynamicznej, a potem np. wyświetlić zerowy element tej tablicy. Wszystko się dzieje w funkcji
void MainWindow::on_pushButton_2_clicked()
Mam nadzieję, że rozumiecie o co chodzi.
Tutaj kod:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QComboBox>
#include <QSpinBox>
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
#include <QDebug>
int IC, IV;
QString *DATA;
double *code;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
QString XMAX=ui->Moze->text();
int xMax=XMAX.toDouble();
QString YMAY=ui->wiersze->text();
int yMay=YMAY.toDouble();
{
int colCount = xMax;
int rowCount = yMay;
ui->tableWidget->setColumnCount(colCount);
ui->tableWidget->setRowCount(rowCount);
for(int row = 0; row < rowCount; ++row)
{
for(int col = 0; col <colCount; ++col){
QLineEdit *lineEdit = new QLineEdit(ui->tableWidget);
ui->tableWidget->setCellWidget(row, col, lineEdit);
}
}
}
}
void MainWindow::on_spinBox_valueChanged(int arg1)
{
ui->Moze->setText(QString::number(arg1));
}
void MainWindow::on_tableWidget_itemSelectionChanged()
{
}
void MainWindow::on_spinBox_2_valueChanged(int arg1)
{
ui->wiersze->setText(QString::number(arg1));
}
void MainWindow::on_pushButton_2_clicked()
{
QString XMAX=ui->Moze->text();
int xMax=XMAX.toDouble();
QString YMAY=ui->wiersze->text();
int yMay=YMAY.toDouble();
IC = xMax; //kolumna
IV = yMay; //rzad
DATA = new QString[(IC+1)*(IV+1)];
code = new double[(IC+1)*(IV+1)];
for(int i = 0; i < IV+1; i++)
{
for(int j = 0; j <IC+1; j++){
QLineEdit *lineEdit = (QLineEdit *)ui->tableWidget->cellWidget(i, j);
QString DATA[i*(IC+1)+j] = lineEdit->text();
//double code[i*(IC+1)+j] = DATA[i*(IC+1)+j].toDouble();
}
}
//QLineEdit *lineEdit = (QLineEdit *)ui->tableWidget->cellWidget(9, 0);
//QString CODE = lineEdit->text();
//int code=CODE.toDouble();
//ui->Edit8->setText(QString::number(code[0]));
ui->Edit8->setText(DATA[0]);
}
Jak widzicie w za komentowanym kodzie wcześniej normalnie z jednej wybranej komórki zczytywałem i rzutowałem do jednej zmiennej i wyświetlałem i było ok. A z tablicą dynamiczną już tak łatwo nie jest.
Proszę o wszelkie wskazówki i porady.