Название: как сделать делегатом QComboBox???<<Qt4.2.3 Отправлено: linuxoid от Август 20, 2007, 14:42 Как сделать делегатом QComboBox в QTableView? ??? :o
Название: Re: как сделать делегатом QComboBox???<<Qt4.2.3 Отправлено: crossly от Август 20, 2007, 14:49 Как сделать делегатом QComboBox в QTableView? ??? :o загляни в examples.... или книжечку Бланшета....Название: Re: как сделать делегатом QComboBox???<<Qt4.2.3 Отправлено: linuxoid от Август 20, 2007, 14:53 ну ты и помог..
Название: Re: как сделать делегатом QComboBox???<<Qt4.2.3 Отправлено: denka от Август 20, 2007, 15:20 Внимательно читаеш раздел Model/View Programming в Assistant'e: в частности про модели, отображения и делегаты... Смотриш пример examples\itemviews\spinboxdelegate.
з.ы. я бы на твоем месте это бы давно сделал, а то у тя постов на эту тему уже с десяток, а знаний как смотрю не прибавилось :( ??? Название: Re: как сделать делегатом QComboBox???<<Qt4.2.3 Отправлено: crossly от Август 20, 2007, 15:34 а чем тебе ещё помочь..... взгляни на QRelationalTableModel (я так понимаю тебе это нужно)... ну а если нет то смотри QSpinBoxDelegate...
Название: Re: как сделать делегатом QComboBox???<<Qt4.2.3 Отправлено: linuxoid от Август 21, 2007, 10:19 :-[ помогите засунуть делегата в ячейки плз!чё я не правильно делаю?
MyDelegate::MyDelegate( QSqlQueryModel model, QObject *parent) : QItemDelegate(parent), mod(model) { } QWidget *MyDelegate::createEditor( QWidget *parent, const QStyleOptionViewItem& /* option */, const QModelIndex& /* index */) const { QComboBox *editor = new QComboBox(parent); editor->setModel(mod); editor->installEventFilter(const_cast<MyDelegate*>(this)); return editor; } void MyDelegate::setEditorData( QWidget *editor, const QModelIndex &index) const { QString value = index.model()->data( index, Qt::EditRole).toInt(); QComboBox *ds = static_cast<QComboBox*>(editor); ds->setCurrentText(value); } void MyDelegate::setModelData( QWidget *editor, QAbstractItemModel *model, const QModelIndex& index) const { QComboBox *ds = static_cast<QComboBox*>(editor); ds->interpretText(); QString value = ds->currentText(); stroka = ds->currentText(); model->setData(index, value); } void MyDelegate::updateEditorGeometry( QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex& /* index */) const { editor->setGeometry(option.rect); } Название: Re: как сделать делегатом QComboBox???<<Qt4.2.3 Отправлено: linuxoid от Август 21, 2007, 10:41 Всё получилось!спасибо! 8)
|