Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: levcom от Январь 10, 2012, 12:53



Название: Отображение ComboBox в QTableView по одному клику
Отправлено: levcom от Январь 10, 2012, 12:53
Как сделать, что бы ComboBox в QTableView отображался по одному  клику на ячейку, а при втором разворачивался список.


Название: Re: Отображение ComboBox в QTableView по одному клику
Отправлено: Bepec от Январь 10, 2012, 12:54
Установить свой делегат. И переопределить евент QItemDelegate::createEditor.

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


Название: Re: Отображение ComboBox в QTableView по одному клику
Отправлено: levcom от Январь 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;
}


Название: Re: Отображение ComboBox в QTableView по одному клику
Отправлено: andrew.k от Январь 10, 2012, 13:27
enum QAbstractItemView::EditTrigger


Название: Re: Отображение ComboBox в QTableView по одному клику
Отправлено: Bepec от Январь 10, 2012, 13:34
Прав мой вечный враг andrew.k.

 Levcom, нужно лишь изменить свойство EditTrigger у View.


Название: Re: Отображение ComboBox в QTableView по одному клику
Отправлено: levcom от Январь 10, 2012, 13:38
enum QAbstractItemView::EditTrigger

Спасибо, эффект тот, что и ожидал. А возможно ли установить подобное свойство не для всего представления, а для отдельной колонки?


Название: Re: Отображение ComboBox в QTableView по одному клику
Отправлено: andrew.k от Январь 10, 2012, 13:52
Прав мой вечный враг andrew.k.

 Levcom, нужно лишь изменить свойство EditTrigger у View.
Вот на кой хрен ты это написал, непонятно.


Название: Re: Отображение ComboBox в QTableView по одному клику
Отправлено: andrew.k от Январь 10, 2012, 13:54
enum QAbstractItemView::EditTrigger

Спасибо, эффект тот, что и ожидал. А возможно ли установить подобное свойство не для всего представления, а для отдельной колонки?
Может менять editTriggers при изменении выделения?
Но зачем? Лучше все однообразно делать, чтобы пользователь с ума не сходил.


Название: Re: Отображение ComboBox в QTableView по одному клику
Отправлено: Bepec от Январь 10, 2012, 13:57
Разъяснял для следующих поколений.

PS Тебе можно флудить в моих темах, мне нельзя? нелогично :)