Название: Измененный календарь. Отправлено: Archa4 от Февраля 24, 2011, 14:19 Дали такую задачу:
надо сделать, что бы календарь выглядел вот так: http://img222.imageshack.us/i/calendarx.jpg/ Я хотел спросить, как лучше это реализовать, так как пока что моя идея - сделать QTableWidget, QCalendarWidget, брать данные о датах с QCalendarWidget и использовать их создавая вид одной клетки, которую потом можно ставить в таблицу с помощью QTableWidget->SetItem(...); Но по-моему это как-то слишком мудрено, нету ли по проще способы изменить вид каждой клетки в QCalendarWidget, что бы показывать Дату и цифру под ней? Название: Re: Измененный календарь. Отправлено: kirill от Февраля 24, 2011, 14:28 Да можно конечно.
Наслдуйся от QCalendarWidget и перепиши функцию virtual void paintCell ( QPainter * painter, const QRect & rect, const QDate & date ) const Название: Re: Измененный календарь. Отправлено: Archa4 от Февраля 24, 2011, 14:42 Спасибо за быстрый ответ!
Еще вопрос, смогу ли я потом получить доступ к этой цифре по датой? Название: Re: Измененный календарь. Отправлено: kirill от Февраля 24, 2011, 15:50 Спасибо за быстрый ответ! Еще вопрос, смогу ли я потом получить доступ к этой цифре по датой? Заведешь переменную класса и получай на здоровье Название: Re: Измененный календарь. Отправлено: Archa4 от Марта 08, 2011, 10:34 Я извеняюсь за такой вопрос, но не мог бы кто-нибудь небольшой примерчик показать, как примерно хотя бы этот "virtual void paintCell" переписать? А то я даже не знаю с какой стороны за него взяться...
Название: Re: Измененный календарь. Отправлено: alexman от Марта 08, 2011, 10:41 Код: class CustomCalendarWidget : public QCalendarWidget Название: Re: Измененный календарь. Отправлено: Archa4 от Марта 08, 2011, 11:06 Код: class CustomCalendarWidget : public QCalendarWidget попробовал, получил несколько ошибок: Код: ..\Calendar_forum_v2\/customcalendarwidget.h:17: error: invalid use of incomplete type 'struct QPainter' Название: Re: Измененный календарь. Отправлено: Archa4 от Марта 08, 2011, 11:38 Так, с ошибкой вроде разобрался, надо было #include <QPainter> сделать.
Теперь такая вещь: в оригинале те даты которые от других месяцев (обычно конец предыдущего месяца и начало следующего) они серого цвета, но теперь все даты черного цвета. Как сделать чтобы было как в оригинале? Можно ли где-то посмотреть как этот Void PaintCell выглядел в оригинале, чтобы мой так же изменить? Название: Re: Измененный календарь. Отправлено: alexman от Марта 08, 2011, 17:46 В исходниках...
Название: Re: Измененный календарь. Отправлено: Archa4 от Марта 09, 2011, 10:41 Эээ... А где их найти? Я попытался найти вайл QCalendarWidget.cpp, но не нашел такого файла. Есть только QCalendarWidget.h, но в нем толком ничего нет...
Название: Re: Измененный календарь. Отправлено: alexman от Марта 09, 2011, 11:43 Да ладно ??? У меня в директории '...Qt\4.7.1\src\gui\widgets\' есть файл 'qcalendarwidget.cpp'.
Название: Re: Измененный календарь. Отправлено: Archa4 от Марта 09, 2011, 11:50 эээ... Ну у меня Nokia Qt SDK модет в этом проблема?
Название: Re: Измененный календарь. Отправлено: alexman от Марта 09, 2011, 11:52 эээ... Ну у меня Nokia Qt SDK модет в этом проблема? Скорее всего! Я не ставил SDK. Видимо в SDK достаточно библиотек + h-файлов. |