Название: Как перейти в режим редактирования таблицы? Отправлено: Chester от Январь 21, 2010, 12:02 Добрый день!!!
Устанавливаю делегат для редактирования столбца в таблице...все нормально работает. И вот вопрос,как мне можно,например,перейти в режим редактирования не по двойному клику,как это стандартно реализовано,а например при нажатии соответствующей кнопки???Т.е. какой слот выплняет переход в режим редактирования таблицы? Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Авварон от Январь 21, 2010, 13:34 Код: ->setEditTriggers(QAbstractItemView::SelectedClicked); Название: Re: Как перейти в режим редактирования таблицы? Отправлено: crossly от Январь 21, 2010, 13:36 openRersistentEditor ?
Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Авварон от Январь 21, 2010, 13:45 аааа, туплю... слот вообще
Код: void edit ( const QModelIndex & index ) Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Январь 21, 2010, 14:20 Спасибо большое!!!Получилось..
А вот есть еще вопросик...у меня создается делегат для редактирования вещественных чисел...Можно ли как-нибудь мне его создать на frame При переопределении метода createEditor делаю так: Код только так не получается..(( Это ообще возможно сделать?? Название: Re: Как перейти в режим редактирования таблицы? Отправлено: crossly от Январь 21, 2010, 14:52 а если
Код: return fr; Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Январь 21, 2010, 15:03 Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Январь 21, 2010, 15:15 А в первом случае только Frame рисуется
Название: Re: Как перейти в режим редактирования таблицы? Отправлено: MoPDoBoPoT от Январь 21, 2010, 15:16 тогда системмная ошибка вылазиет... Хм, какая?Вообще, лучше фрейм и спинбокс агрегировать в один виджет, предоставив необходимый функционал. А то в методах setEditorData() и setModelData() надо будет копать до QDoubleSpinBox, что как-то не очень. Название: Re: Как перейти в режим редактирования таблицы? Отправлено: crossly от Январь 21, 2010, 15:18 тож верно...
Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Январь 21, 2010, 16:48 Спасибо большое,получилось!!!
А QFrame я могу закрасить в серый цвет если он находится на белом фоне таблицы?? Или его цвет заисет только от виджета на котором он расположен?? Название: Re: Как перейти в режим редактирования таблицы? Отправлено: lit-uriy от Январь 21, 2010, 17:37 Виджетам можно индивидуально устанавливать палитру.
Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Январь 22, 2010, 14:40 А можно еще вопросик...
У меня установлен делегат на один из столбцов таблицы...какой-нить сигнал испускается об окончании редактирования?? Просто после редактирования ячейки обновляется запрос в моей модели и сбрасываются свойства таблицы,такие например как resizeRowsToContents и после первого изменения таблица принимает немного другой вид чем изначально Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Январь 22, 2010, 18:08 получается,что при вызове метода setQuery модели ширина строки становится стандартной
Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Январь 22, 2010, 19:07 В классе делегатов есть такой сигнал commitData( QWidget * editor )
Только он у меня срабатывает только когда я выхожу из режима редактирования и при этом DoubleSpinBox при этом если не получает фокуса ввода Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Февраль 15, 2010, 11:12 Здраствуйте...Воспользовался Вашим советом
тогда системмная ошибка вылазиет... Хм, какая?Вообще, лучше фрейм и спинбокс агрегировать в один виджет, предоставив необходимый функционал. А то в методах setEditorData() и setModelData() надо будет копать до QDoubleSpinBox, что как-то не очень. Все нормально вроде работало...и вот бнаружился такой касяк...почему-то мой виджет переопределенный не получает фокус ввода. И вообще такое ощущение,что он ложится поверх обычного QDoubleSpinBox,который и получает фокус ввода. Вот как я создаю свой виджет: Код
Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Февраль 15, 2010, 15:41 Видимо все-таки дело в определенном мною виджете,унаследованном от QWidget..такой виджет вообще можно использовать в определении делегата??
Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Февраль 15, 2010, 21:46 Получается,что в качестве редактора передается QWidget,на которм расположен фрейм и спинбокс и который,как я понимаю, не имеет фокуса ввода...как же сделать чтобы фокус ввода передавался бы спин боксу...
Название: Re: Как перейти в режим редактирования таблицы? Отправлено: Chester от Февраль 16, 2010, 08:43 Вот блин,бьюсь уже над этим целый день...
Хочу чтобы у меня спинбокс был не на всю ячейку,как он по стандартному, а чтоб между ним и границами было какое-то расстояние... Подскажите пожалуйста как все-таки это лучше организовать???Можт лучше вообще не создавать собственный виджет?? |