这段代码尝试将4个标签设置为周x,周x + 1,周x + 2和周x + 3,但是在使用addDays(7)更新时失败,我只得到周x,周x,第x周和第x周。任何人都可以看到错误?
ui->setupUi(this);
QDate fecha=QDate::currentDate();
int pr=fecha.weekNumber();
int year=fecha.year();
ui->lab1->setText("Week "+ QString::number(pr) + "\n" + " Year " +QString::number(year));
ui->lab5->setText("Week "+ QString::number(pr) + "\n" + "Year " +QString::number(year));
fecha.addDays(7);
pr=fecha.weekNumber();
year=fecha.year();
ui->lab2->setText("Week "+ QString::number(pr) + "\n" + "Year " +QString::number(year));
ui->lab6->setText("Week "+ QString::number(pr) + "\n" + "Year " +QString::number(year));
fecha.addDays(7);
pr=fecha.weekNumber();
year=fecha.year();
ui->lab3->setText("Week "+ QString::number(pr) + "\n" + "Year " +QString::number(year));
ui->lab7->setText("Week "+ QString::number(pr) + "\n" + "Year " +QString::number(year));
fecha.addDays(7);
pr=fecha.weekNumber();
year=fecha.year();
ui->lab4->setText("Week "+ QString::number(pr) + "\n" + "Year " +QString::number(year));
ui->lab8->setText("Week "+ QString::number(pr) + "\n" + "Year " +QString::number(year));
感谢。
答案 0 :(得分:2)
addDays()
函数返回一个带有修改次数的对象,也就是说,它不会在初始对象中累积。
QDate QDate :: addDays(qint64 ndays)const
返回一个QDate对象,其中包含比日期晚nday的日期 这个对象(如果ndays为负数,则更早。)
如果当前日期无效或新日期为,则返回空日期 超出范围。
您必须重新分配返回变量的内容:
fecha = fecha.addDays(7);