c++ - 无法更新 QTableWidget 中的字符串

标签 c++ qt qtablewidget qstring qtablewidgetitem

我想在表格中将例如 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/

相关文章:

c++ - 转到无法执行的代码行

python - PyQt:具有撤消和重做操作的 QTableWidget

c++ - QTableWidget中如何动态分配单元格

python - qtablewidget 设置水平标题标签可编辑以添加行

c++ - C/C++ __restrict 类型

c++ - 用 C++ 创建 GUI

c++ - Qt- 改变 QPixmap 的不透明度

c++ - 使用 Qt,如何使用鼠标移动事件向上或向左调整小部件的大小

c++ - 如何更改 .pro 文件中 Qt Creator 的 OUT_PWD 设置

c++ - Qt 编译问题 w/MySQL - Mac OS X