我需要在TableWidget中的三个单元格内获取值。问题是,每当我添加新行时,我都会创建一个新的小部件。所以我真的不再有对该小部件的引用。
所以我有一个TableWidget,里面装满了小部件,我需要在其中一点,但是访问它的唯一方法是转到其位置
我试图创建一个新的小部件t和s,以容纳我的价值。但是,有一个问题。它无法读取数据(很可能是由于强制转换)。
auto pEntity = _pEntity.lock();
if (pEntity)
{
auto pTextComponent = pEntity->getComponent<TextComponent>();
pTextComponent->ListOfDialog->clear();
for (int i = 0; i < _TableWidget->rowCount(); i++)
{
QTextEdit* t = (QTextEdit*)_TableWidget->cellWidget(i, 0);
QComboBox* s = (QComboBox*)_TableWidget->cellWidget(i, 1);
TextVisual* ItemToPush = new TextVisual(t->toPlainText().toStdString(), s->currentText().toInt(), _colorToUse.red(), _colorToUse.green(), _colorToUse.blue());
pTextComponent->ListOfDialog->push_back(ItemToPush);
}
}
pEntity->getComponent<TextComponent>()->TextChanged();
目前我只得到这个:“不可能读取内存”。 但是我想要(即使解决方案是其他方法)是能够访问TableWidget单元内的值。 像这样(例如textEdit):t-> toPlainText()-> toStdString()