这些代码之间有什么不同之处:其中一个代码确实改变了标签文本

时间:2017-04-03 07:04:03

标签: c++ qt

我写了这段代码来改变标签文字。但是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));//*
}  

然后我的标签文字发生了变化 为什么?!谁能解决我的问题?

1 个答案:

答案 0 :(得分:4)

增量运算符++将使用该值然后递增。如果要在同一表达式中使用递增的h值。使用++ h。

ui->txtHour->setText(QString::number(++h));