Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 使用QStyledItemDelegate paint()在表格中绘制图标_Qt_Qpainter_Qstyleditemdelegate - Fatal编程技术网

Qt 使用QStyledItemDelegate paint()在表格中绘制图标

Qt 使用QStyledItemDelegate paint()在表格中绘制图标,qt,qpainter,qstyleditemdelegate,Qt,Qpainter,Qstyleditemdelegate,我正在尝试为QStyledItemDelegate子类(QT4.8.2)实现一个自定义绘制函数 我已经回顾了StarItemDelegate示例,以及其他示例,它看起来非常简单。将委托分配给表中指示记录状态的列。列项目可编辑,但用户不可编辑。我已经实现了delegate子类,并且已经证明它是有效的,但是似乎无法让它绘制一个简单的图标 绘制功能的代码为: { painter->save(); QIcon icon(":./opencs.png"); QSize iconsi

我正在尝试为QStyledItemDelegate子类(QT4.8.2)实现一个自定义绘制函数

我已经回顾了StarItemDelegate示例,以及其他示例,它看起来非常简单。将委托分配给表中指示记录状态的列。列项目可编辑,但用户不可编辑。我已经实现了delegate子类,并且已经证明它是有效的,但是似乎无法让它绘制一个简单的图标

绘制功能的代码为:

{
   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回购有关。尽管如此,讨论还是提供了一些见解,帮助我走出了困境。。。