2016-09-01 3 views
0

qdate 및 qtablewidget에 문제점이 있습니다.Qtablewidget에서 QDate를 읽고 QDate에 저장하십시오.

연결을 통해 qtablewdiget에서 항목을 업데이트 할 때 "updateProdotto"함수를 호출합니다. 삽입 한 새 qdate를 읽는 것과 새 qdate 변수에 저장하는 데 문제가 있습니다.

웹에서 이미 검색했지만 결과가 없으므로 아무도 조작하지 않으므로 qdate 유형을 사용합니다.

connect(ui->tableViewProdotti,SIGNAL(itemChanged(QTableWidgetItem*)),this,SLOT(updateProdotto())); 

void UserInterface::updateProdotto() { 
int colonna = ui->tableViewProdotti->currentColumn(); 
int riga = ui->tableViewProdotti->currentRow(); 

if(colonna == 1) 
    art[riga]->setNome(ui->tableViewProdotti->item(riga,1)->text().toStdString()); 
if(colonna == 2) 
    art[riga]->setCategoria(ui->tableViewProdotti->item(riga,2)->text().toStdString()); 
if(colonna == 5) { // this is for date 
    QDate date= // read date and store it 
    art[riga]->setDate(date); 
} 
} 

어떻게하면됩니까?

답변

0

지금까지 내가 당신의 문제를 이해, 당신은 문자열에 날짜를 것 그리고 지금 당신은 그것을 사용해야합니다 QDate 개체로 이 경우 QDate:fromString 정적 메서드를 사용하여 문자열을 구문 분석해야합니다.

방법 서명 :

QDate QDate::fromString(const QString & string, const QString & format) 

예 :

QDate date = QDate::fromString("1MM12car2003", "d'MM'MMcaryyyy"); 
// date is 1 December 2003 

문서 :

0

http://doc.qt.io/qt-5/qdate.html#fromString-1은 이미 "QDate이 :: fromstring"하지만 내 경우는 '아무튼에 대해 알고, 감사합니다 일하지 마라. (이 후 답변을 읽기 2 houres를) 나는 적합한 솔루션 내 프로젝트의 다른 기능에 있지만,이 경우 QDate :: fromString를 사용하는 자사의 :

QString format="yyyy-MM-dd"; 
    QTableWidgetItem* date= ui->tableViewProdotti->item(riga,5); 
    QString text=date->text(); 
    QDate date1=QDate::fromString(text,format); 
    art[riga]->setDataAcquisto(date1); 

내 오류가 QTableWidgetItem 포인터에이고 형식은 yyyy-입니다 MM-dd (표준)와 다른 기능으로는 dd.MM.yyyy (저는 유럽입니다!)

이 솔루션이 다른 사람들을 도울 수 있기를 바랍니다.

관련 문제