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");


Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
3

JavaScript же ))

var date = new Date();
date.setDate(date.getDate() - 30);
Относительно всех Date, Math и т.д. очень рекомендую посматривать в стандартные библиотеки JavaScript, "обычно" работает и в QML
0
  • 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
        }

0

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


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

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

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

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
25 мая 2019 г. 16:20
Андрей Янкович

C++ - Тест 001. Первая программа и типы данных

  • Результат:93баллов,
  • Очки рейтинга8
m
19 мая 2019 г. 1:49
mahhaki

Qt - Тест 001. Сигналы и слоты

  • Результат:78баллов,
  • Очки рейтинга2
S
17 мая 2019 г. 13:14
SunBro

Qt - Тест 001. Сигналы и слоты

  • Результат:42баллов,
  • Очки рейтинга-8
Последние комментарии
21 мая 2019 г. 20:10
Дмитрий

Приветствую! Я думаю дойдёт и до этого, но пока изучать его у меня нет желания.
20 мая 2019 г. 19:20
Евгений Легоцкой

Добрый день! Вы не думали разместить репозиторий проекта на GitHub?
P.
18 мая 2019 г. 14:03
PELMYACH .

Спасибо большое! Вскоре буду разбираться!
18 мая 2019 г. 9:13
Евгений Легоцкой

Добрый день! Отнимать значение общего счётчика можно в деструкторе класса кнопки QDynamicButton::~QDynamicButton(){ ResID--;} При этом я бы ещё переустанавливал значения вс...
P.
14 мая 2019 г. 22:33
PELMYACH .

Здравствуйте!А не подскажите, как можно при удалении какой либо кнопки, у щётчика отнять значение?Дабы например четвёртой кнопке соответствовал ID 4, а не 5 скажем
Сейчас обсуждают на форуме
24 мая 2019 г. 6:48
Евгений Легоцкой

Если там будут только перечисления внутри namespace, то жа, достаточно будет заголовочного файла
24 мая 2019 г. 6:28
Андрей Янкович

работает любой http сервер, и можно использовать обсалютно любой портпример <RemoteRepositories> <Repository> <Url>http://178.124.160.6:3030/A/B&l...;
23 мая 2019 г. 14:40
Михаиллл

Попробовал сделать этот запрос по http и получил json файл. request.setUrl(QUrl("https://jsonplaceholder.typicode.com/todos/1")); Как Вы думаете, почему https не работает и как это и...
23 мая 2019 г. 10:42
Михаиллл

Спасибо, помогло.
23 мая 2019 г. 6:31
Евгений Легоцкой

Для задач и граф-то не нужен. Достаточно будет таблицы в локальной базе данных SQLite, в которой указывается задача, время и т.д. В этом разделе есть примеры по работа с базой д...

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы

EVILEG
О нас
Услуги
Присоединяйтесь к нам
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB