LINUX.ORG.RU

Изучаю Qt и C++, вопрос


0

0

Фактически, я нуб ы этом вопросе, читаю ща самоучители, но в этом вопросе не получается разобраться:

Вот сделал я класс на основе QTreeWidgetItem - MyItem.

Теперь надо бы как-то к нему привязать сигнал itemDoubleClicked, но насколько я понял, он работает только с оригинальным QTreeWidgetItem? Дайте, плиз, пример, как правильно привязать мой класс к этому сигналу.

anonymous

Дока по сигналам и слотам - это не совсем то. Тут проблема еще тупее: дело в том, что с оригинальным QTreeWidgetItem работает сигнал по имени QTreeWidget::itemDoubleClicked; я его сначала не нашел, а когда нашел, то понял всю тупость вопроса. Человек предположительно практически не знает ООП.

ShprotX
()
Ответ на: комментарий от ShprotX

> Человек предположительно практически не знает ООП.

Ну да. Решил во время отпуска время зря не терять и поизучать Qt. Так расскажешь в чём дело или нет?

anonymous
()
Ответ на: комментарий от anonymous

Тут вопрос не в Qt а в С++. Лучше с ним для начала получше разберись, а потом уже берись за кутю. Прочитай хотя бы про public/private наследование.

anonymous
()
Ответ на: комментарий от anonymous

> Тут вопрос не в Qt а в С++. Лучше с ним для начала получше разберись, а потом уже берись за кутю. Прочитай хотя бы про public/private наследование.

Да вроде уж прочитал про это, просто изучаю на реальных примерах, а не копипастам из учебников. Был бы пример перед глазами с ответом на возникший у меня вопрос - легче изучение пошло бы.

anonymous
()
Ответ на: комментарий от anonymous

Как уже было написано:

>что с оригинальным QTreeWidgetItem работает сигнал по имени QTreeWidget::itemDoubleClicked;

соответственно, надо разобраться с наследованием. Переопределить там чего-нибудь итд.

P.S. с++ не знаю, но про ООП представление имею:)

anonymous
()
Ответ на: комментарий от anonymous

MyTreeWidget::MyTreeWidget() : QTreeWidget()
{
    connect(this, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(slotItemDoubleClicked(QTreeWidgetItem *, int)));
}

...

void MyTreeWidget::slotItemDoubleClicked(QTreeWidgetItem *item, int)
{
    MyTreeWidgetItem *m = static_cast<MyTreeWidgetItem *>(item);

    if(m)
    {
         ...
    }
}

alex_custov ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.