Я расширил QDateTimeEdit
, чтобы делать шаги с интервалом в 15 минут, перезаписав stepBy(int steps)
. Таким образом, если пользователь прокручивает раздел минут вверх, у него есть только варианты выбора: 0, 15, 30 и 45.
Одна проблема возникает, если пользователь вводит дату и время вручную, потому что тогда проверка не выполняется. Я внимательно просмотрел: https://qt.gitorious.org/qt/qt/source/57756e72adf2081137b97f0e689dd16c770d10b1:src/gui/widgets/qdatetimeedit.cpp
но, честно говоря, метод dateTimeFromText
был немного сложным.
Я также нашел: http://qt-project.org/doc/qt-5/qt.html#InputMethodHint-enum, но все еще не уверен, поможет ли это.
Есть ли какой-нибудь простой способ разрешить только dateTimes
с минутным разделом 0, 15, 30 или 45? Или я могу в качестве альтернативы отключить ручной ввод?