C++, Qt, Портфолио

DBRecordWidget — Библиотека-виджет для работы с данными (Qt)

Сегодня вашему вниманию предстанет моя библиотека DBRecordWidget, которую я написала на Qt для удобства разработки пользовательского интерфейса приложения, требующего работу с моделями данных. Это могут быть и SQL модели, и другие. Библиотека не зависит от разновидности.

Открыта для общего доступа на BitBucket:

https://secretsilent@bitbucket.org/slalimited/dbrecordwidget.git

Поподробнее о DBRecordWidget…

Библиотека представляет собой виджет, где можно добавить кнопки Добавить, Изменить, Удалить, Экспорт, Импорт и пр. — в перечислении:

[pastacode lang=»cpp» manual=»namespace%20operationButtons%20%7B%0AQ_NAMESPACE%0Aenum%20buttons%20%7Binsert%3D0%2C%20update%2C%20remove%2C%20import_%2C%20export_%2C%20report%2C%20refresh%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20save%2C%20print%7D%3B%0AQ_ENUM_NS(buttons)%0A%7D» message=»» highlight=»» provider=»manual»/]

Пример с кнопками Добавить, Удалить, Сохранить будет выглядеть примерным образом:

пример использования виджета

Размер иконок и шрифта можно регулировать.

При нажатии на ту или иную кнопку дается соответствующий сигнал.

Пример создания объекта виджета (с кнопками Добавить, Удалить, Сохранить):

[pastacode lang=»cpp» manual=»%2F%2F%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D0%BC%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%20buttonsBox%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0%20QGroupBox%20%D1%80%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC%0ADBRecordWidget%20*rw%20%3D%20new%20DBRecordWidget(ui-%3EbuttonsBox)%3B%0A%2F%2F%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC%20%D0%B2%D0%B5%D0%BA%D1%82%D0%BE%D1%80%20%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D1%8B%D1%85%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA%0AQVector%3CoperationButtons%3A%3Abuttons%3E%20vButtons%3B%0AvButtons.push_back(operationButtons%3A%3Ainsert)%3B%0AvButtons.push_back(operationButtons%3A%3Aremove)%3B%0AvButtons.push_back(operationButtons%3A%3Asave)%3B%0Arw-%3EsetVisibleOperationButtons(vButtons)%3B%0A%2F%2F%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D0%BC%20%D0%BD%D1%83%D0%B6%D0%BD%D1%8B%D0%B5%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D1%8B%0Arw-%3EsetIconSize(48%2C48)%3B%0Arw-%3EsetOwnFontSize(10)%3B%0A%2F%2F%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%20%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%20%D0%BD%D0%B0%20%D1%81%D0%BB%D0%BE%D0%B9%0Aui-%3EbuttonsBox-%3Elayout()-%3EaddWidget(rw)%3B%0A%2F%2F%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D1%8F%D0%B5%D0%BC%20%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D1%8B%20%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0%20%D1%81%D0%BE%20%D1%81%D0%BB%D0%BE%D1%82%D0%B0%D0%BC%D0%B8%20%D0%B2%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B5%0Aconnect(rw%2C%20SIGNAL(insertClicked())%2C%20this%2C%20SLOT(newRecord()))%3B%0Aconnect(rw%2C%20SIGNAL(removeClicked())%2C%20this%2C%20SLOT(removeRecord()))%3B%0Aconnect(rw%2C%20SIGNAL(saveClicked())%2C%20this%2C%20SLOT(save()))%3B%0A%2F%2F%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0%20%D0%BF%D1%80%D0%B8%20%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%0Aconnect(qApp%2C%20SIGNAL(aboutToQuit())%2C%20rw%2C%20SLOT(deleteLater()))%3B» message=»» highlight=»» provider=»manual»/]

 

Склонируйте ее себе и подстройте под себя 🙂

Чтобы заказать проект или получить консультацию, перейдите, пожалуйста, на страницу Контакты.

Примеры других моих работ вы сможете найти в портфолио.

DBRecordWidget — Библиотека-виджет для работы с данными (Qt): 2 комментария

Оставьте своё мнение...

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.