2016-07-21 34 views
0

我想在表格中将例如2.16更改为2,16。这是我的代码无法更新QTableWidget中的字符串

{ 
    ....... 
    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。我不知道为什么?在替换字符串之后,我需要刷新表格还是类似的东西?

回答

1

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

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

非常感谢Frogatto! :) – htmlamateur