我想在表格中将例如 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);
这行实现了。但在那之后,表格仍然显示 2.16,而不是 2,16。我不知道为什么?替换字符串后是否需要刷新表格或类似的东西?
最佳答案
您没有在代码中setText
。试试这个:
QString text = input_item->text().replace(".", ",", Qt::CaseSensitive);
input_item->setText(text);
关于c++ - 无法更新 QTableWidget 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38507230/