Russian Qt Forum

Qt => Вопросы новичков => Тема начата: moops от Декабрь 15, 2017, 02:09



Название: Текст из QLineEdit в QTableWidget
Отправлено: moops от Декабрь 15, 2017, 02:09
Установил в ячейки QTableWidget лайнэдиты
Теперь никак не могу получить из них текст. Слышал что то про то, что надо создавать QLineEdit, кастовать там что-то, но так и не разобрался. Примеров тоже найти не могу.


Код:
.............
            QLineEdit * lineDate = new QLineEdit;
            QLineEdit * lineNameOne = new QLineEdit;
            QLineEdit * lineNameTwo = new QLineEdit;
            QLineEdit * lineScore = new QLineEdit;
       
            lineDate->setText(finalTable.games.at(i).date);
            lineNameOne->setText(finalTable.games.at(i).nameOne);
            lineScore->setText(finalTable.games.at(i).score);
            lineNameTwo->setText(finalTable.games.at(i).nameTwo);

            ui->tableWidget->setCellWidget ( i, 0,  lineDate);
            ui->tableWidget->setCellWidget ( i, 1,  lineNameOne);
            ui->tableWidget->setCellWidget ( i, 2,  lineScore);
            ui->tableWidget->setCellWidget ( i, 3,  lineNameTwo);


Название: Re: Текст из QLineEdit в QTableWidget
Отправлено: __Heaven__ от Декабрь 15, 2017, 09:01
Попробуйте
Код
C++ (Qt)
const QLineEdit *lineDate = static_cast<QLineEdit *>(ui->tableWidget->cellWidget(i, 0));
qDebug() << lineDate->text();


Название: Re: Текст из QLineEdit в QTableWidget
Отправлено: moops от Декабрь 15, 2017, 20:23
Попробуйте
Код
C++ (Qt)
const QLineEdit *lineDate = static_cast<QLineEdit *>(ui->tableWidget->cellWidget(i, 0));
qDebug() << lineDate->text();

Спасибо! Все работает.


Название: Re: Текст из QLineEdit в QTableWidget
Отправлено: Day от Декабрь 17, 2017, 13:00
Цитировать
moops Установил в ячейки QTableWidget лайнэдиты
Не очень понятен смысл этого деяния. Ведь можно установить в ячейки обычные QTableWidgetItem-ы, и они будут допускать такую же возможность редактирования, как и ЛайнЕдиты...Или я чего-то недопонимаю...:)