Название: Как корекктно работать с сигналом - itemActivated(QTreeWidgetItem*,int)??? Отправлено: Garik от Апрель 11, 2011, 15:26 Всем Привет!!!! Сижу вот разбираюсь с функцией TreeWidget, нужно сделать следущее: - создается например произвольное количество QTreeWidgetItem, далее нужно наступить мышкой или клавиатурой на какой либо елемент и при этом должен сработать сигнал itemActivated(QTreeWidgetItem*,int).
написал пробный код, сигнал срабатывает но при переходе в слот не передается номер елемента на которм было произведено действие!!! понимаю что задача тривиальна, но я новичек и нуждаюсь в помощи.. Выкладываю сразу код: Код: void ImageViewer::TreeWidget() постоянно передается "0"???? Заранее Спасибо!!! Название: Re: Как корекктно работать с сигналом - itemActivated(QTreeWidgetItem*,int)??? Отправлено: mutineer от Апрель 11, 2011, 15:29 Там передается не номер строки (элемента), а номер столбца, на котором кликнули. Видимо столбец у тебя один, поэтому 0 всегда и передается. Внимательнее с документацией же, ну...
Название: Re: Как корекктно работать с сигналом - itemActivated(QTreeWidgetItem*,int)??? Отправлено: Garik от Апрель 11, 2011, 15:45 Там передается не номер строки (элемента), а номер столбца, на котором кликнули. Видимо столбец у тебя один, поэтому 0 всегда и передается. Внимательнее с документацией же, ну... сорри понял!!!! А как сделать что-бы передовался именно номер елемента на котором произвилось действме,,,, у меня именно в этом загвостка??? Название: Re: Как корекктно работать с сигналом - itemActivated(QTreeWidgetItem*,int)??? Отправлено: mutineer от Апрель 11, 2011, 15:49 Тебе нужен именно номер? QTreeWidgetItem* - это указатель на кликнутый элемент, в нем все данные этого элемента есть. Но если нужен именно номер, то думаю можно получить через
Код: item->parent->indexOfChild(item) Название: Re: Как корекктно работать с сигналом - itemActivated(QTreeWidgetItem*,int)??? Отправлено: Garik от Апрель 11, 2011, 16:04 Именно номер!!! что-бы его в дальнейшем присвоить обычно переменной типа int i;!!!!!
Название: Re: Как корекктно работать с сигналом - itemActivated(QTreeWidgetItem*,int)??? Отправлено: mutineer от Апрель 11, 2011, 16:05 Попробуй тот кусок, что я написал. Вроде должен возвращать номер
Название: Re: Как корекктно работать с сигналом - itemActivated(QTreeWidgetItem*,int)??? Отправлено: Garik от Апрель 11, 2011, 16:18 Благодарю!!!! получилось. Я тут еще попробовал другим методом через итератор(из примеров выпыл): вроде тоже показывает номер, но вот как присвоить простой переменно еще не понял.
Код: void ImageViewer::setActivated(QTreeWidgetItem *item, int column) |