Название: [РЕШЕНО] QTreeWidget get indexes Отправлено: OKTA от Август 01, 2014, 11:03 Товарищи, пробую в простейшем случае, стараясь избежать лишней писанины со своими делегатами и айтемами, засунуть в QTreeWidgetItem QPushButton. Засовывается успешно, все нормально.
Нажатие на клавиши отлавливаю через QSignalMapper, но после нажатия в слоте мне нужно четко знать, в каком именно айтеме произошло нажатие, т.е. нужен какой-то уникальный идентификатор. Вот вопрос в этом и состоит - как получить уникальный идентификатор айтема? Те же index, как я понял, для детей идут с нуля от своего родителя и уже не являются уникальными на всю модель. А засунуть свой идентфикатор в какое-нибудь поле и спрятать его, чтобы потом делать findItems не получается ??? Может я не там ищу? Название: Re: QTreeWidget get indexes Отправлено: Пантер от Август 01, 2014, 11:06 А если хранить
QMap<QPushButton*, QTreeWidgetItem*>? Название: Re: QTreeWidget get indexes Отправлено: OKTA от Август 01, 2014, 11:14 Этот вариант я на крайний случай оставил :) Можно конечно сделать еще аналог метода findItems, который бы искал не по тексту, а по data, но хотелось бы, как уже говорил, минимум своей писанины, если есть возможность обойтись имеющимися средствами Qt.
Название: Re: QTreeWidget get indexes Отправлено: Пантер от Август 01, 2014, 11:20 Только если засунуть в objectName кнопки указатель на QTreeWidgetItem, но это костыльно и непонятно. ИМХО, больше простых решений я не вижу.
Название: Re: QTreeWidget get indexes Отправлено: OKTA от Август 01, 2014, 11:22 Ну, тогда будем хранить указатели. Спасибо, Пантер! ;)
|