現在、カスタムデリゲートを実装していますが、その一部をメソッドQSpinBox
に描画する必要があります。paint(..)
void Sy_floatingPointPD::paint( QPainter* painter,
const QStyleOptionViewItem& option,
const QModelIndex& index ) const
{
painter->save();
// Paint check box.
QStyleOptionSpinBox spOpt;
spOpt.palette = option.palette;
spOpt.rect = option.rect;
spOpt.state = option.state;
spOpt.frame = true;
spOpt.stepEnabled = QAbstractSpinBox::StepUpEnabled |
QAbstractSpinBox::StepDownEnabled;
style->drawComplexControl( QStyle::CC_SpinBox, &spOpt, painter );
painter->restore();
}
残念ながら、次のように表示されます。
ご覧のとおり、ステップボタンは大きく描かれており、下矢印のみが表示されます。興味深いことに、ボタンの幅はoption.rect
、セルのサイズであるにもかかわらず、最初のテーブル列の幅を反映しています(これは正しいので、おそらくフレームが正しく描画されます)。
私が提供していない情報はありQStyle
ますか?