Название: Вытянуть значение из стандартного делегата. Отправлено: Flake от Март 23, 2009, 14:42 В методе
Код: setModelData ( QWidget * editor, QAbstractItemModel * model, const QModelIndex & index ) const Название: Re: Вытянуть значение из стандартного делегата. Отправлено: spirit от Март 23, 2009, 14:47 а что за виджет в createEditor делегата создается?
закастить к нужному виджету надо, например Код
Название: Re: Вытянуть значение из стандартного делегата. Отправлено: Flake от Март 23, 2009, 15:26 Код
Вот какой создаётся, поэтому и спрашиваю :) Название: Re: Вытянуть значение из стандартного делегата. Отправлено: spirit от Март 23, 2009, 15:29 м... а зачем явно такой код юзать? почему из модели данные сразу взять нелязя после сигнала QAbstractItemDelegate::commitData?
Название: Re: Вытянуть значение из стандартного делегата. Отправлено: Flake от Март 23, 2009, 15:33 А мне нужно сравнить текущее значение в модели с новым, которое в editor'e
Название: Re: Вытянуть значение из стандартного делегата. Отправлено: spirit от Март 23, 2009, 15:38 так тогда виджет лучше получать через QWidget * QAbstractItemView::indexWidget ( const QModelIndex & index ) const и потом кастить. а еще лучше свой делегат сделать и в setModelData делегата делать проверку.
Название: Re: Вытянуть значение из стандартного делегата. Отправлено: Flake от Март 23, 2009, 15:41 Так я так и делаю, мне в setModelData надо из editor'а получить данные чтобы сравнить с данными из модели. Вот я не знаю как мне кастить, в этом и есть вопрос. Как для стандартного понятно, ты код привел выше.
Название: Re: Вытянуть значение из стандартного делегата. Отправлено: spirit от Март 23, 2009, 15:45 прокастить к необходимому эдитору будет не очень удобно, ибо стандартный делегат создает эдиторы при помощи QItemEditorFactory, а он возвращает 8 разных эдиторов.
Название: Re: Вытянуть значение из стандартного делегата. Отправлено: Flake от Март 23, 2009, 15:52 А может тогда в createEditor не писать:
Код А указывать конкретный виджет? А ассисте написано что для QString используется QLineEdit. Но если указать QLineEdit, то рамка больше становится ;D как это поправить, а бросается в глаза. Название: Re: Вытянуть значение из стандартного делегата. Отправлено: spirit от Март 23, 2009, 15:55 если просто текстовое, то кастить к QLineEdit как я выше показал.
Название: Re: Вытянуть значение из стандартного делегата. Отправлено: spirit от Март 23, 2009, 15:57 Но если указать QLineEdit, то рамка больше становится ;D как это поправить, а бросается в глаза. QLineEdit::setFrame в false сбрось. Название: Re: Вытянуть значение из стандартного делегата. Отправлено: Flake от Март 23, 2009, 16:02 Супер! Спасибо за помощь.
|