Russian Qt Forum
Ноябрь 25, 2024, 08:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Отображение ComboBox в QTableView по одному клику  (Прочитано 5885 раз)
levcom
Гость
« : Январь 10, 2012, 12:53 »

Как сделать, что бы ComboBox в QTableView отображался по одному  клику на ячейку, а при втором разворачивался список.
Записан
Bepec
Гость
« Ответ #1 : Январь 10, 2012, 12:54 »

Установить свой делегат. И переопределить евент QItemDelegate::createEditor.

И будёт всё как ты хочешь ^^
Записан
levcom
Гость
« Ответ #2 : Январь 10, 2012, 13:05 »

Установить свой делегат. И переопределить евент QItemDelegate::createEditor.

И будёт всё как ты хочешь ^^

В общем я так и сделал, но ComboBox появляется при двойном щелчке по ячейке, при одиночном щелчке - ячейка выделяется и отображается как Label

Код:
QWidget* TypeAttrEditorDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
    QComboBox *editor = new QComboBox(parent);
    editor->addItem(QString("Item 1"));
    editor->addItem(QString("Item 2"));
    editor->addItem(QString("Item 3"));

    return editor;
}
Записан
andrew.k
Гость
« Ответ #3 : Январь 10, 2012, 13:27 »

enum QAbstractItemView::EditTrigger
Записан
Bepec
Гость
« Ответ #4 : Январь 10, 2012, 13:34 »

Прав мой вечный враг andrew.k.

 Levcom, нужно лишь изменить свойство EditTrigger у View.
Записан
levcom
Гость
« Ответ #5 : Январь 10, 2012, 13:38 »

enum QAbstractItemView::EditTrigger

Спасибо, эффект тот, что и ожидал. А возможно ли установить подобное свойство не для всего представления, а для отдельной колонки?
Записан
andrew.k
Гость
« Ответ #6 : Январь 10, 2012, 13:52 »

Прав мой вечный враг andrew.k.

 Levcom, нужно лишь изменить свойство EditTrigger у View.
Вот на кой хрен ты это написал, непонятно.
Записан
andrew.k
Гость
« Ответ #7 : Январь 10, 2012, 13:54 »

enum QAbstractItemView::EditTrigger

Спасибо, эффект тот, что и ожидал. А возможно ли установить подобное свойство не для всего представления, а для отдельной колонки?
Может менять editTriggers при изменении выделения?
Но зачем? Лучше все однообразно делать, чтобы пользователь с ума не сходил.
Записан
Bepec
Гость
« Ответ #8 : Январь 10, 2012, 13:57 »

Разъяснял для следующих поколений.

PS Тебе можно флудить в моих темах, мне нельзя? нелогично Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.127 секунд. Запросов: 21.