2017-04-03 13 views
0

我編寫了此代碼來更改標籤文本。但是id不變:這些代碼之間有什麼不同:它們中的一個不會更改標籤文本

void DateTimes::on_btnHourP_clicked() 
{ 
    int h=ui->txtHour->text().toInt(); 
    if(h==24) 
     h=-1; 
    ui->txtHour->setText(QString::number(h++));//* 
} 

但是我的標籤文字沒有改變。然後我將代碼更改爲:

void DateTimes::on_btnHourP_clicked() 
{ 
    int h=ui->txtHour->text().toInt(); 
    if(h==24) 
     h=-1; 
    h+=1;//* 
    ui->txtHour->setText(QString::number(h));//* 
} 

那麼我的標籤的文本是變化的。
爲什麼?有人能解決我的問題嗎?

回答

4

Incremet operator ++將使用該值然後遞增。如果您想在同一個表達式中使用遞增的h值。使用++ h。

ui->txtHour->setText(QString::number(++h)); 
相關問題