这段代码试图设置 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));
谢谢。
最佳答案
addDays()
function 返回一个耗时修改的对象,即不在初始对象中累加。
QDate QDate::addDays(qint64 ndays) const
Returns a QDate object containing a date ndays later than the date of this object (or earlier if ndays is negative).
Returns a null date if the current date is invalid or the new date is out of range.
您必须重新分配返回给变量的内容:
fecha = fecha.addDays(7);
关于c++ - 为什么 addDays 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43985165/