如何在QTableView单元格中水平居中DecorationRole图标?

时间:2017-09-15 19:25:22

标签: c++ qt view

有一些类似的帖子,其中接受的解决方案涉及利用自定义代表。好吧,我已经将QStyledItemDelegate子类化并覆盖了paint函数。然后,我适当地设置了委托。这是油漆覆盖代码:

void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
    QStyleOptionViewItem opt = option;
    opt.decorationAlignment = Qt::AlignCenter;
    QStyledItemDelegate::paint(painter, opt, index);
}

不幸的是,这并不会使我的图标水平居中。有趣的是,将opt.decorationPosition设置为枚举值TopBottom确实允许水平对齐,但我不希望这样定位。

那么,我如何在视图中水平居中这些图标呢?

编辑:

我最终手动绘制了图标,就像问题顶部链接的解决方案一样。我正在寻找一种更方便的方法,但这样做会很好。

0 个答案:

没有答案