Как в QML сделать календарь?
Добрый день.
Как в QML сделать календарь?
Это
не подходит, т.к. использую QtQuick.Controls 2.12
4
99
Do you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- МАApril 1, 2025, 4:21 p.m.0ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Так ви можите використовувати і 1.4 одночасно
Не могу, qt так не работает.
Если делаю так, то страничка не работает:
Тому що для календаря потрібний
import QtQuick.Controls 1.4
Якщо в файлі нічого специфічного не використовується то можна просто замінити версію, а якщо ніяк то або винести календар в окремий файл а потім підключити його, або... Вроді так теж має працювати
import QtQuick.Controls 1.4 as Controlold
Controlold.Calendar {
minimumDate: new Date(2017, 0, 1)
maximumDate: new Date(2018, 0, 1)
}
Краще ще почитати
https://doc.qt.io/qt-5/qtqml-syntax-imports.html
к слову говоря есть и для вторых контролов какие-то наработки по календарю.
https://doc.qt.io/archives/qt-5.7/qt-labs-calendar2-qmlmodule.html
С помощью этого получилось вставить календарь. Но как прикрутить подсветку и маусареи к нужным дням?
Можете сделать это с помощью делегата. Предполагаю, что это можно сделать примерно так
Но мне нужно привязать к дням месяца, а не ко всему месяцу.
делегат отвечает за представление одного дня в месяце в данном случае. Да, вы добавляете MouseArea к делегату, а уже в обработчиках MouseArea можете проверить, какой именно день кликнули.
Если так добавляю делегата, то календарь перестает отображаться. Скажите пожалуйста, почему так и как исправить?
Ну потому, что делегат отвечает за представление одного элемента модели, когда вы его переопределяете, то вам нужно полностью написать его вёрстку. Естественно, что у вас ничего не отображается в этом случае, поскольку вы не написали, что отображать в делегате. Делегат - это внешний вид одной ячейки даты календаря, если вы не указываете нигде текст ячейки, то и не увидите его.
Вот рабочий код
Вообще, вы можете использовать такое обращение к данным модели
в самом Qt есть пример календаря (welcome->examples->Calendar Widget Example)
есть и тут пример