如何访问tableWidget单元格中小部件内的值?

时间:2019-03-29 16:14:51

标签: c++ widget qt5

我需要在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()

0 个答案:

没有答案