无法更新 QTableWidget 中的字符串

cannot update string in QTableWidget

我想在 table 中将例如 2.16 更改为 2,16。这是我的代码

{
    .......
    connect(ui.tableWidget, SIGNAL(itemChanged(QTableWidgetItem*)), this, SLOT(change_string(QTableWidgetItem*)));
}

void MyClass::change_string(QTableWidgetItem* input_item)
{
    if (input_item->text() != "") {
        if (input_item->text().contains(".", Qt::CaseSensitive)) {
            input_item->text().replace(".", ",", Qt::CaseSensitive);
        }
    }
}

我的代码运行正常,我调试过,input_item->text().replace(".", ",", Qt::CaseSensitive);行实现了。但在那之后,table 仍然显示 2.16,而不是 2,16。我不知道为什么?替换字符串后是否需要刷新 table 之类的东西?

您的代码中没有 setText。试试这个:

QString text = input_item->text().replace(".", ",", Qt::CaseSensitive);
input_item->setText(text);