Qt 使用QStyledItemDelegate paint()在表格中绘制图标
我正在尝试为QStyledItemDelegate子类(QT4.8.2)实现一个自定义绘制函数 我已经回顾了StarItemDelegate示例,以及其他示例,它看起来非常简单。将委托分配给表中指示记录状态的列。列项目可编辑,但用户不可编辑。我已经实现了delegate子类,并且已经证明它是有效的,但是似乎无法让它绘制一个简单的图标 绘制功能的代码为:Qt 使用QStyledItemDelegate paint()在表格中绘制图标,qt,qpainter,qstyleditemdelegate,Qt,Qpainter,Qstyleditemdelegate,我正在尝试为QStyledItemDelegate子类(QT4.8.2)实现一个自定义绘制函数 我已经回顾了StarItemDelegate示例,以及其他示例,它看起来非常简单。将委托分配给表中指示记录状态的列。列项目可编辑,但用户不可编辑。我已经实现了delegate子类,并且已经证明它是有效的,但是似乎无法让它绘制一个简单的图标 绘制功能的代码为: { painter->save(); QIcon icon(":./opencs.png"); QSize iconsi
{
painter->save();
QIcon icon(":./opencs.png");
QSize iconsize = option.decorationSize;
painter->drawPixmap(0.0, 0.0, icon.pixmap(iconsize.width(), iconsize.height()));
painter->restore();
}
现在,我只是想确保绘画功能正常工作。该图标已在应用程序的其他区域使用,因此我知道它可以工作。我还没有很好地掌握QT,所以我确信这是一个相当简单的问题,但从我阅读的论坛帖子或我设法挖掘的QT示例中,没有任何东西会跳出来
有什么想法吗?
您是否考虑过改用Qt::DecorationRole
只需阅读此处的文档:
和您的示例代码,看起来您正确地遵循了文档
您是否查看过此示例:
?
您还可以在其中插入一些qDebug
语句,以确保元素可见/显示,并通过放置qDebug()
您是否考虑过改用Qt::DecorationRole
只需阅读此处的文档:
和您的示例代码,看起来您正确地遵循了文档
您是否查看过此示例:
?
您还可以在其中插入一些qDebug
语句,以确保您的元素可见/显示,并通过放置qDebug()进入绘制事件是的,我已经看过了star委托示例,但它并没有告诉我我认为需要知道什么。部分问题是它没有使用图标,特别是。不过,我会再看一眼。至于装饰角色,你能用它来混合文字和图形吗?最终,这就是我需要做的,我的研究表明,委派一名代表是实现这一目标的唯一途径……您是否为您的元素设置了大小点?问题与我的git回购有关。尽管如此,讨论还是提供了一些见解,帮助我走出了困境……是的,我看过明星代表的例子,但它并没有告诉我我认为我需要知道什么。部分问题是它没有使用图标,特别是。不过,我会再看一眼。至于装饰角色,你能用它来混合文字和图形吗?最终,这就是我需要做的,我的研究表明,委派一名代表是实现这一目标的唯一途径……您是否为您的元素设置了大小点?问题与我的git回购有关。尽管如此,讨论还是提供了一些见解,帮助我走出了困境。。。