© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
13 июня 2018 г. 14:37

Как вывести текущую дату минус 30 дней в textfield

Вывожу поле с текущей датой вот так
TextField{
            id:data_out
            width:dp(120)
            anchors.left:lbl_out.right
            anchors.top:parent.top
            anchors.topMargin: 0
            font.family: "Times New Roman"
            smooth: false
            placeholderText: qsTr("дата по")
            font.bold: true
            font.pixelSize: dp(20)
           text:Qt.formatDate(new Date(),"dd-MM-yyyy");
            readOnly : true
        }

А как вывести текущую дату минус 30 дней.
Component.onCompleted:  - не предлагать.
(так работает -

Component.onCompleted: {
            var today1 = new Date();
            today1.setDate(today1.getDate()-30);
            data_in.text=Qt.formatDate(today1,"dd-MM-yyyy");
            today1.setDate(today1.getDate()+30);
            data_out.text=Qt.formatDate(today1,"dd-MM-yyyy");
        }


Хочется именно в text: - типо
 text:Qt.formatDate(new Date()... -30,"dd-MM-yyyy");


JavaScript же ))

var date = new Date();
date.setDate(date.getDate() - 30);
Относительно всех Date, Math и т.д. очень рекомендую посматривать в стандартные библиотеки JavaScript, "обычно" работает и в QML
  • #
  • Ответ был помечен как решение
  • 14 июня 2018 г. 5:50
Ок. Насколько я понял функцию  -
Component.onCompleted: {
            
не очень любят. Поэтому думал чем заменить. Возможно так правильнее?

        TextField{
            function date_from()
                        {
                            var date = new Date();
                            date.setDate(date.getDate() - 30);
                            return Qt.formatDate(date,"dd-MM-yyyy");
                        }
            id:data_in
            width:dp(130)
            anchors.top:parent.top
            anchors.topMargin: 0
            anchors.left:lbl_in.right
            font.family: "Times New Roman"
            smooth: false
            placeholderText: qsTr("дата с")
            font.bold: true
            font.pixelSize: dp(20)
            text: date_from()
            readOnly : true
        }

Да, так как-то лучше выглядит.


Вообще, Component.onCompleted можно использовать, лично у меня предуюеждений нет к нему, но по факту нужно отслеживать последовательность загрузки QML файла, чтобы правильно отрабатывали все методы onCompleted у разных файлов.

Проблема в onCompleted может быть в том случае, когда открытие допустим "странички приложения" через StackView с помощью устновки текущего элемента из тех, что в него загружены, не равно созданию объекта. То есть открывать мы можем сколько угодно, создав один раз.

Может поэтому кто-то и недолюбливает применение этого обработчика. Тут скорее от архитектуры и логики приложения стоит отталкиваться.

Ответы

Только авторизованные пользователи могут отвечать на форуме.
Пожалуйста, Авторизуйтесь или Зарегистрируйтесь
25 июня 2018 г. 11:55
lebendig

C++ - Тест 006. Перечисления

  • Результат 100 баллов
  • Очки рейтинга 10
25 июня 2018 г. 11:24
lebendig

C++ - Тест 005. Структуры и Классы

  • Результат 100 баллов
  • Очки рейтинга 10
25 июня 2018 г. 8:48
lebendig

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат 100 баллов
  • Очки рейтинга 10
Последние комментарии
25 июня 2018 г. 9:34
EVILEG

Как написать игру на Qt - Урок 4. Враг - смысл в выживании

Там неправильный подсчёт был по направлению и полный бардак был с поведением, эти 45 градусов исправляли ситуацию. Точную причину уже совсем не помню. А вообще все эти расчёты довольно...
25 июня 2018 г. 9:13
MarkSD

Как написать игру на Qt - Урок 4. Враг - смысл в выживании

Здравствуйте, Подскажите, пжлст, как работает этот код : QLineF lineToTarget(QPointF(0, 0), mapFromItem(target, 0, 0));  // Проводим линию от паука к мухе qreal angl...
25 июня 2018 г. 7:51
EVILEG

PyQt5 - Урок 003. QSystemTrayIcon - Как свернуть приложение в трей

Если не ошибаюсь, можно просто удалить вот эту строку central_widget.setLayout(grid_layout) Там указатель на парента передаётся в само размещение, что автоматически заменяет в размещен...
Сейчас обсуждают на форуме
25 июня 2018 г. 17:38
IscanderChe

Иконка исполняемого файла

Спасибо!
25 июня 2018 г. 13:12
Arrow

QComboBox и База данных

И если можно еще один вопрос. Таблицы во вложении. Если писать: mainModel = new QSqlRelationalTableModel(this);mainModel-&g...;
25 июня 2018 г. 7:49
EVILEG

На чём сделан этот сайт?

Добрый день! На сервере сайта установлена Ubuntu 16.04. В качестве сервера используется VDS. Хостинг-провайдер Timeweb . Сайт написан на Django/Python, для...
19 июня 2018 г. 7:56
EVILEG

как редактировать порядок обхода этементов по нажатию TAB в Qt5 qml

Что-то наподобие такого TextField { Keys.onReturnPressed: nextItemInFocusChain().forceActiveFocus()}

Рекомендуемые страницы