у меня есть QDateEdit
в моем графическом интерфейсе, из которого я конвертирую QDate
в QString
и добавить его в мою базу данных. QString
Дата сохраняется в базе данных в следующем формате: 20.12.2015.
В случае, если пользователь хочет изменить дату, мне нужно показать дату на QDateEdit
поле на GUI снова. Следовательно, мне нужно получить базу данных, вернуть дату (которая находится в QString
формат) и преобразовать его в QDate
назад, чтобы поставить его на QDateEdit
поле в графическом интерфейсе.
Тем не менее, я не могу преобразовать это QString
формат (т.е. 20/12/2015) в QDate
используя следующее:
QString date_string_on_db = "20/12/2015";
QDate Date;
Date.fromString(date_string_on_db,"dd/MM/YYYY");
Date
всегда возвращается invalid
,
что я должен делать ?
Прежде всего, строка формата должна быть dd/MM/yyyy
, Документация Qt для QDate
учебный класс Говорит, что yyyy
распознается как четырехзначный номер года.
На втором месте, fromString
это static
функция, которая возвращает новый QDate
, В настоящее время возвращаемое значение этой функции отбрасывается: оно не записывается обратно в Date
переменная, как вы могли подумать. Полный правильный код должен выглядеть следующим образом:
QString date_string_on_db = "20/12/2015";
QDate Date = QDate::fromString(date_string_on_db,"dd/MM/yyyy");
Других решений пока нет …