2016-07-21 33 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