В доках рекомендуют наследоваться от QStyledItemDelegate и переопределять метод paint (+по необходимости sizeHint).
Чтоже до вопросов:
1. option.state
2. палитру нужно брать из option.palette (системная не подходит, потому что может устанавливаться отдельно для каждого виджета) шрифт option.font.
Если нужно взять информацию из стиля виджета, например для отрисовки рамки фокуса, то можно сделать такой финт (в доках нет описания QStyleOptionViewItemV3::widget, единственное найденное упоминание это
http://doc.trolltech.com/4.5/qstyleoptionviewitemv3-members.html):
C++ (Qt)
const QStyleOptionViewItemV3 *optionV3 = qstyleoption_cast<const QStyleOptionViewItemV3 *>(&option);
QStyle *style = optionV3 ? optionV3->widget->style() : qApp->style();
style->drawPrimitive(QStyle::PE_PanelItemViewItem, &option, painter, widget);
ADD: Мда, после редактирования какой-то бред получился