Название: combobox delegate??????? Отправлено: tguglanaklona от Октябрь 07, 2010, 17:55 Есть QTableWidget tableWidget и делегаты QComboBoxы в нем
где-то там BoxDelegate pDeleg; //... public: QItemDelegate ... и tableWidget->setItemDelegateForColumn(n,pDeleg); и создание QComboBox QWidget *BoxDelegate::createEditor(QWidget *parent, ... ) const { QComboBox *editor = new QComboBox(parent); ... } Когда кликаешь по таблице первый клик загорает таблицу в ячейке - второй клик уже загорает комбо-бокс. Таким образом, пользователь недоумевает что делать до тех пор пока не догадается сделать два клика вместо одного. Да и вообщ это неудобно. Как перенаправить эту процедуру на один клик??????????? То есть, чтобы по одному клику сразу открывался qcombo ?????????? Название: Re: combobox delegate??????? Отправлено: kibsoft от Октябрь 08, 2010, 00:27 Цитировать void QAbstractItemView::mousePressEvent ( QMouseEvent * event ) [virtual protected] Переопредели эту функцию в потомке tablewidget. Если левая кнопка мыши && индекс под курсором валидный, то вызывать слот edit().Цитировать virtual QModelIndex indexAt ( const QPoint & pos ) const Сюда передаешь координаты курсора и если возвращаемый индекс валидный, то edit.Название: Re: combobox delegate??????? Отправлено: tguglanaklona от Октябрь 08, 2010, 16:05 Спасибо! До переопределения додумалась, а на координатах курсора споткнулась)) Хотела туда DblClick отправлять 8)
Название: Re: combobox delegate??????? Отправлено: tguglanaklona от Октябрь 08, 2010, 16:20 Так мне было и лень искать эту QPoint - все попадаешь на первую ячейку.
Все вроде приемлемо решено вот так (без переопределений): tableWidget->setEditTriggers(QAbstractItemView::AllEditTriggers); Название: Re: combobox delegate??????? Отправлено: kibsoft от Октябрь 08, 2010, 16:33 Цитировать Все вроде приемлемо решено вот так (без переопределений): Так там редактирование не только на клик, но и при нажатии на любую клавишу :)tableWidget->setEditTriggers(QAbstractItemView::AllEditTriggers); Название: Re: combobox delegate??????? Отправлено: tguglanaklona от Октябрь 11, 2010, 09:51 Ну как-то так - мне главное, чтобы на один клик, а не на два ;)
|