Название: Отловить событие окончания редактирование ячейки Отправлено: NetWorm от Октября 06, 2011, 10:32 Есть код!
Код: bool frmUslugi::eventFilter(QObject *obj, QEvent *event){ if (event->type() == QEvent::){ //--- Какое событие надо написать чтоб реагировало на завершение редактирования ячейки Мне нужно отловить выход из редактирования ячейки!!! Какое событие за это отвечает??? Название: Re: Отловить событие окончания редактирование ячейки Отправлено: AnubiSAD от Октября 06, 2011, 11:09 А сигнал типа itemChanged () или cellChanged () не подойдет? Зачем события?
Название: Re: Отловить событие окончания редактирование ячейки Отправлено: NetWorm от Октября 06, 2011, 11:17 Где есть такой сигнал я что-то его не вижу!!!
Название: Re: Отловить событие окончания редактирование ячейки Отправлено: kambala от Октября 06, 2011, 12:46 void QTreeWidget::itemChanged ( QTreeWidgetItem * item, int column ) [signal] - этот наверное
Название: Re: Отловить событие окончания редактирование ячейки Отправлено: NetWorm от Октября 06, 2011, 12:54 Блин совсем забыл сказать!!! Изменение не TreeWidget, а TableView
Название: Re: Отловить событие окончания редактирование ячейки Отправлено: vadim303 от Октября 06, 2011, 13:07 TableView? Значит вы используете схему Model-View ? Если да, то в модели (потомка QAbstractItemModel) есть сигнал dataChanged(). Если нет, то тогда лучше использовать QTableWidget, и вот как раз в нём есть сигналы itemChanged() и cellChanged().
Вообще использовать перехват событий в Qt не хорошо. Qt построен на модели сигнал-слот, а не на событиях как в фреймворках типа MFC. И если вам часто приходится использовать перехват событий то скорей всего вы что-то недопонимаете в архитектуре классов Qt... Название: Re: Отловить событие окончания редактирование ячейки Отправлено: kambala от Октября 06, 2011, 13:08 void QAbstractItemModel::dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) [signal] (как уже указали выше) или void QStandardItemModel::itemChanged ( QStandardItem * item ) [signal] (все зависит от используемой модели).
Название: Re: Отловить событие окончания редактирование ячейки Отправлено: NetWorm от Октября 06, 2011, 13:21 Я использую перехват событий только лишь для того чтобы при нажатии по Ентер переходить на следующую ячейку
Название: Re: Отловить событие окончания редактирование ячейки Отправлено: vadim303 от Октября 06, 2011, 14:01 для QTableView у меня такой задачи не было, но скорей всего можно тоже обойтись без перехвата событий. Может быть в сторону делегатов надо покопать. Вот для потомка QTableWidget я при создании в ячейке редактора (а это фактически QLineEdit), я получал его адрес и связывал его сигнал returnPressed() со своим слотом перехода к следующей ячейке.
Название: Re: Отловить событие окончания редактирование ячейки Отправлено: asvil от Октября 06, 2011, 17:35 QAbstractDelegate::EndEditHint
|