QDateTimeEdit: rollback from 59 to 00 or vice-vers

2019-05-21 06:08发布

问题:

How can I rollback hour/min/sec from 59 to 00 or vice versa. Actually QDateTimeEdit doesn't allow it by default and it get stuck after reaching maximum value of 59 if tried pressing up arrow, and same for minimum value 00.

回答1:

You must know that QDateTimeEdit is inherit QAbstractSpinBox, and QAbstractSpinBox has wrapping mechanism, using it you can make your spins circular. So, all what you must do is

setWrapping(true)

in your case, it must be something like this: ui->dateTimeEdit->setWrapping(true);

If wrapping is true stepping up from maximum() value will take you to the minimum() value and vica versa. Wrapping only make sense if you have minimum() and maximum() values set.

See official documentation here .

Good luck!



标签: qt qdatetime