Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: NetWorm от Май 03, 2013, 12:17



Название: QTreeWidget переопределить currentItem()
Отправлено: NetWorm от Май 03, 2013, 12:17
Есть свой класс avTreeWidget наследуется от QTreeWidget. И соответственно avTreeWidgetItem наследуется от QTreeWidgetItem

переопределяю функцию currentItem() чтобы возвращала тип avTreeWidgetItem

вот конкретно и вопрос. Как мне это сделать?


Название: Re: QTreeWidget переопределить currentItem()
Отправлено: gil9red от Май 03, 2013, 16:44
Как один из вариантов:

Необязательно переопределять, ведь вы наследуете avTreeWidgetItem от QTreeWidgetItem, значит можете смело возвращать тип QTreeWidgetItem, а потом преобразовать его:

Код:
avTreeWidgetItem *item= static_cast <avTreeWidgetItem *> (currentItem());


С собой не было ничего компилирующего, но должно скомпилироваться:
Код:
class MyTableWidgetItem: public QTableWidgetItem
{
public:
    QString foo(){return "I lived!!!";}
};

class MyTable: public QTableWidget
{
public:
    MyTableWidgetItem *currentItem() const
    {
        return static_cast <MyTableWidgetItem *> (QTableWidget::currentItem());
    }
};


Название: Re: QTreeWidget переопределить currentItem()
Отправлено: NetWorm от Май 03, 2013, 17:19
Благодарю, это то что нужно!!!!