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