2017-04-03 12 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)); 
相关问题