МихаилллAug. 12, 2019, 9:39 a.m.
Как в QML изменить в календаре дизайн дней
Добрый день.
У меня есть такой календарь.
У меня есть вектор с датами, как подсвечивать в календаре только нужные даты из вектора?
MonthGrid { id: mothGrid1 month: Calendar.December year: 2019 x: 23 y: 154 width: 340 height: 355 //locale: Qt.locale("en_US") delegate: Item { Rectangle{ anchors.fill: parent color: "green" } Text { anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter text: model.day } MouseArea{ anchors.fill: parent //onClicked: console.log(model.date ) } } }
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
l
- laei
- April 23, 2024, 3:19 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:10points,
- Rating points-10
Last comments
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоFeb. 5, 2024, 7:50 a.m.
EVADec. 25, 2023, 4:30 p.m.
Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Now discuss on the forum
DA
Unlock Your Aesthetic Potential: Explore MSC in Facial Aesthetics and Cosmetology in India Embark on a transformative journey with an msc in facial aesthetics and cosmetology in india . Delve into the intricate world of beauty and rejuvenation, guided by expert faculty and …
Dr Gangil AcademicsApril 20, 2024, 1:45 p.m.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
Павел ДорофеевApril 14, 2024, 8:35 a.m.
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
Добрый день.
Не вижу в вашем коде вектора с датами. Затруднительно что-то подсказать в таком случае.
Он просто в с++ слое, там обычный вектор с обычными датами в формате QDate. Это аналогично любому массиву.
Видимо нужно перебирать модель, но как к ней обратится?
Вы же понимаете, что данные нужно передать в QML, чтобы с ними было можно как-то оперировать?
А вы говорите, у меня есть какой-то вектор, где-то в С++, как в соответствии с этим вектором отметить даты в календаре в QML.
У вас есть хоть какой-то способ достать этот вектор? Обращение к классу, который содержит этот вектор, или модель данных, или ещё что-то?
Если вам нужна какая-то подсветка, то я могу написать так.
Так у вас будет выделяться 10-й день. А в остальном тут даже не подскажешь, если иметь абстрактный вектор в C++.
То есть нужно перебирать не модель. А сам вектор. Если вы его достанете из C++, то сможете прямо в делегате что-нибудь придумать, но что конкретно, не знаю.
Я доставляю его в делегат методом getVector(). Но как его перебирать в делегате? Разве перебор не делают в модели?
Можно ли как то прописать немного отдельно модель календаря и потом с ней работать?
Можете показать, как вы используете этот getVector() и допустим вариант с выводом в консоль в QML.
Я хотел бы понять, как это у вас вообще сделано или работает ли. Например, хотя бы по клику по ячейке.
Ошибся, QML не знает QDate, мой метод возвращает QString так:
qml: AppCore.getVectorDate() 12.08.2019,13.08.2019,14.08.2019,15.08.2019,16.08.2019,17.08.2019,18.08.2019,19.08.2019,20.08.2019,21.08.2019,22.08.2019,23.08.2019,24.08.2019,26.08.2019,27.08.2019,29.08.2019,30.08.2019,31.08.2019,01.09.2019,02.09.2019,03.09.2019,04.09.2019,05.09.2019,06.09.2019,07.09.2019,08.09.2019,09.09.2019,10.09.2019,11.09.2019,12.09.2019,13.09.2019,14.09.2019,15.09.2019,16.09.2019,17.09.2019,18.09.2019,19.09.2019,20.09.2019,21.09.2019,22.09.2019,23.09.2019,24.09.2019,25.09.2019,26.09.2019,27.09.2019,28.09.2019,29.09.2019,30.09.2019,01.10.2019,02.10.2019,03.10.2019,04.10.2019,05.10.2019,06.10.2019,07.10.2019,08.10.2019,09.10.2019,10.10.2019,11.10.2019,12.10.2019,13.10.2019,14.10.2019,15.10.2019,16.10.2019,17.10.2019,18.10.2019,19.10.2019,20.10.2019,21.10.2019,22.10.2019,23.10.2019,24.10.2019,25.10.2019,26.10.2019,27.10.2019,28.10.2019,29.10.2019,30.10.2019,31.10.2019,01.11.2019,02.11.2019,03.11.2019,04.11.2019,05.11.2019,06.11.2019,07.11.2019,08.11.2019,09.11.2019,10.11.2019,11.11.2019,12.11.2019,13.11.2019,14.11.2019,15.11.2019,16.11.2019,17.11.2019,18.11.2019,19.11.2019,20.11.2019,21.11.2019,22.11.2019,23.11.2019,24.11.2019,25.11.2019,26.11.2019,27.11.2019,28.11.2019,29.11.2019,30.11.2019,02.12.2019,03.12.2019,04.12.2019,05.12.2019,06.12.2019,07.12.2019,08.12.2019,09.12.2019,10.12.2019,11.12.2019,12.12.2019,13.12.2019,14.12.2019,15.12.2019,16.12.2019,17.12.2019,18.12.2019,19.12.2019,20.12.2019,21.12.2019,22.12.2019,23.12.2019,24.12.2019,25.12.2019,26.12.2019,27.12.2019,28.12.2019,29.12.2019,30.12.2019,31.12.2019,02.01.2020,04.01.2020,06.01.2020,09.01.2020,11.01.2020,13.01.2020,16.01.2020,18.01.2020,20.01.2020,23.01.2020,25.01.2020,27.01.2020,30.01.2020,01.02.2020,03.02.2020,06.02.2020,08.02.2020,10.02.2020,13.02.2020,15.02.2020,17.02.2020,20.02.2020,22.02.2020,24.02.2020,02.03.2020,05.03.2020,07.03.2020,09.03.2020,12.03.2020,14.03.2020,21.03.2020,23.03.2020,26.03.2020,13.04.2020,14.04.2020,16.04.2020,18.04.2020,16.07.2020
Так работает
Сделал так, но почему-то для августа и сентября не срабатывает подкрашивание, но для остальных месяцев срабатывает срабатывает. Скажите пожалуйста, почему такое может быть?
Понял, из за месяев 08, 09. Так работает
а как сделать чтоб на какой-то одной ячейке календаря был виден условный Rectangle, а на других нет. Вот типа есть в делегате дня в углу красный квадратик(типа метка), я хочу чтоб он был виден только на 4 дне месяца. Как сделать чтоб Rectangle.visible было true только в ячейке 4го дня?
Тогда нужно все делегаты сделать прозрачными кромк одного.