Название: панелька управления записями в БД, как правильнее, оптимальнее? Отправлено: PavelVX от Сентября 12, 2011, 08:08 есть приложение работающее с БД, формы в нем реализованы через QDockWidget->QTableView, но думаю это не принципиально.
Как правильно/оптимально реализовать кнопочки управления записями в БД(добавить/удалить/сохранить/отменить и тд). Я вижу три варианта: 1. На самом виджете. Самое громоздкое и непривильное. Укладываем на виджет кнопочки, коннекты, слоты и все довольны, для каждой формы делаем все заново. 2. Создаем свой виджет с кнопочками. Укладываем его на свою форму. Через свойства скрываем ненужные кнопки. Через коннекты связываем сигналы с данного виджета со слотами в форме. Тут возникает вопрос: как правильно в виджете генерировать сигналы с разных кнопок? 3. Создаем свою панельку в ToolBars (самый правильный!). Привязываем его сигналы к своим слотам. В зависимости от того. в каком доквиджете находится фокус, там и обрабатывать сигнал. Тут куча вопросов. - Как динамически, в зависимости от активного виджета не показывать, дизаблить неприменимые к данному виджету действия? - Как точно определить, кто должен обрабатывать испускаемые сигналы? Наверняка, те кто работает с БД уже решали данный вопрос. Не хотелось бы делать неправильно, а потом переделывать. Название: Re: панелька управления записями в БД, как правильнее, оптимальнее? Отправлено: alexman от Сентября 12, 2011, 08:13 Причем тут БД? Это вопрос по организации интерфейса (без говнокода).
Название: Re: панелька управления записями в БД, как правильнее, оптимальнее? Отправлено: PavelVX от Сентября 12, 2011, 09:32 Поэтому и написал вопрос в этой ветке. Или я не прав? Описал из-за чего возник вопрос, и что хотелось бы.
Название: Re: панелька управления записями в БД, как правильнее, оптимальнее? Отправлено: alexman от Сентября 12, 2011, 09:38 Ветка та. Только причем тут БД...
Название: Re: панелька управления записями в БД, как правильнее, оптимальнее? Отправлено: alexman от Сентября 12, 2011, 10:08 Цитировать - Как динамически, в зависимости от активного виджета не показывать, дизаблить неприменимые к данному виджету действия? Можно события отлавливать от доков. См: Код: void QObject::installEventFilter ( QObject * filterObj ) Цитировать - Как точно определить, кто должен обрабатывать испускаемые сигналы? При обработке события делай disconnect от слота, что не актуален, делай connect к слоту, что актуален.Название: Re: панелька управления записями в БД, как правильнее, оптимальнее? Отправлено: Pretorean от Сентября 19, 2011, 23:56 Это ты мечтаешь о DBNavigator из Delphi?
|