Да я только начал изучать Qt по книге Макса Шлее "Qt 4". Дошел до половины, ничего излагает, но там задач нет, а хотелось бы сразу практиковаться.
Подробнее - в чем?
например GUI классы или не GUI часть? БД? вы готовы выполнять задание (мини-тех-задание) или вам интересны скорее "на поразбираться"?
собственно OTPD я начал делать примерно на вашем уровне знакомства с QT.
Вот вам первая задачка. Причем не учебная, а вполне "боевая" и нужная.Как сделаете, будем далее из неё библиотеку делать и далее развивать)
Напишите класс который в рантайме по команде подгружает .ui-форму (команда содержит имя .ui-файла), отображает её предоставляет интерфейс работы с виджетами ui-формы.
Функции bool setValue(QString widgetName, QVariant value) и QVariant getValue(QString widgetName) для чтения и установки значений именованных элементов на форме.
Класс содержит сигнал valueOnWidgetChanged(QString widgetName) который информирует о том, что значение на форме поменялось (текст отредактирован пользователем, нажата кнопка, или изменен выбор в комбо-боксе).
Функция QString getSubWidgetСlassName(QString widgetName) - отдает имя класса виджета на форме.
Функции bool isSubWidgetEnabled(QString widgetName) и bool setSubWidgetEnabled(QString widgetName, bool Enabled) - управляют доступностью виджетов.
Все функции должны быть слотами.
Список виджетов работа с которыми должна поддерживаться -
* QLineEdit,
* QTextEdit,
* QLabel,
* QComboBox,
* QPushButton.
Если напишете - оберну сам в библиотеку (или вас попрошу в рамках данного топика) и будет новое расширение для QDroid (смотри подпись) и включю его в состав поставки системы. Лицензия - GPL v2 или v3.
Данный класс нужен для того, что бы было удобно работать с графическими формами из QtScript.
Штука имхо очен нужная для данного проекта, потому что классов для работы с произвольными гуи-формами в QDroid пока нет, а у меня руки не доходят. Т.к. .ui-формы предварительно подготавливаются/редактируются в QT-дизайнере - это мне видмтся очень хорошим вариантом.
Кроме того - думаю это будет хороший кандидат в раздел готовые решения.
Да, задача комплексная, но только в таком виде она интересна. B будучи разбитой на части - не такая уж она и страшная. Тем более, что в книге у Шлее описывается все необходимое. (ну может кроме поиска подчиненных виджетов - не помню, но тут мы вам подскажем).
Дам подсказки: UiLoader, child widgets, metaObject, SignalMapper, ...
Думаю, вы способны решить данную задачу.
А мы тут будем вам по ходу действия подсказывать и указывать на ошибки.
PS: Далее на очереди - класс печати html-текста (большую часть я уже собсвенно изложил в одном из топиков на форуме), класс предоставляющий оконко с интерактивным HTML-интерфейсом (html-текст, и что бы по cсылочкам кликать можно было).