Название: Отрисовка QComboBox в QTableView Отправлено: giker от Декабрь 22, 2010, 17:32 Здравствуйте! Нужно отрисовывать QComboBox в QTableView так что бы ячейки всегда выглядели как QComboBox, даже когда грид не находиться в режиме редактирования. Выяснил что для этого нужно переопределить метод paint у QStyledItemDelegate. Пробую переопределить его так:
Код: void ComboBoxDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const но ячейки получаются пустыми. Когда переопределяю так: Код: void ComboBoxDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const тогда отоисовывается значение в ячейке, в обычном виде, но серым цветом. Поскажите пожалуйста как сделать отрисовку. Спасибо. Название: Re: Отрисовка QComboBox в QTableView Отправлено: shirushizo от Декабрь 22, 2010, 19:03 Навскидку:
Код: ... Название: Re: Отрисовка QComboBox в QTableView Отправлено: twp от Декабрь 22, 2010, 19:50 вначале можно сделать QStyleOption::initFrom
и может это нужно установить bool QStyleOptionComboBox::editable This variable holds whether or not the combobox is editable or not. the default value is false Название: Re: Отрисовка QComboBox в QTableView Отправлено: brankovic от Декабрь 22, 2010, 21:19 QAbstractItemView::openPersistentEditor делает так, что редактор ячейки отображается постоянно.
Название: Re: Отрисовка QComboBox в QTableView Отправлено: giker от Декабрь 23, 2010, 13:30 Цитировать QAbstractItemView::openPersistentEditor делает так, что редактор ячейки отображается постоянно. Спасибо оно самое! |