Название: static_cast Отправлено: makar182 от Август 23, 2014, 18:51 И снова здравствуйте :) Давно назревал данный вопрос по приведению типов. В теории понятно, а на практике...
При написании делегата, в setEditorData( ) я делаю приведение типа для QWidget *editor, полученного от createEditor( ). Вопрос вот в чем - зачем приводить объект класса QSpinBox к классу QSpinBox? Код: QWidget *delegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const Название: Re: static_cast Отправлено: kambala от Август 23, 2014, 18:58 потому что метод setEditorData имеет параметром QWidget (т.е. абсолютно любой виджет). нельзя же написать editor->setValue(value);
Название: Re: static_cast Отправлено: makar182 от Август 23, 2014, 19:10 потому что метод setEditorData имеет параметром QWidget (т.е. абсолютно любой виджет). нельзя же написать editor->setValue(value); А почему мы не используем dynamic_cast? Я так понимаю, потому, что мы работаем в данном примере только с QSpinBox, потому нет необходимости? Название: Re: static_cast Отправлено: Old от Август 23, 2014, 19:24 А почему мы не используем dynamic_cast? Я так понимаю, потому, что мы работаем в данном примере только с QSpinBox, потому нет необходимости? Да.В setEditorData передается виджет создаваемый в createEditor, а т.к. там создается только объект QSpinBox, то нет смысла проверять. Название: Re: static_cast Отправлено: makar182 от Август 23, 2014, 19:49 Спасибо за помощь господа!
|