gpt4 book ai didi

c++ - Qt - 如何绘制平铺像素图?

转载 作者:行者123 更新时间:2023-11-28 06:48:25 25 4
gpt4 key购买 nike

我想在 QTreeWidgetItem 中绘制评级星,如下所示: Final shape

如何做到这一点,考虑到我想在不使用任何图像的情况下做到这一点,只使用 QPixmap 和 QPolygon。

不关心阴影,只想用一个QPixmap画出多个星星的形状,一个星星。

这是最终的形状:

enter image description here

最佳答案

既然你在评论中说你已经知道如何绘制一颗星星,那么绘制多颗星星就很简单:创建一个比一颗星星宽 5 倍的 QPixmap,然后多次执行你的绘制星星例程一个循环,根据需要以不同的 x 偏移量将该星绘制到像素图中。

要在您的树形小部件中显示星星:

创建一个包含五个不同 QPixmap 的数组,所有 QPixmap 的大小都相同:第一个有一个星号和四个空格,第二个有两个星号和三个空格,依此类推,最后一个是五个星号和没有空格。

然后对于每个 QTreeWidgetItems,调用 setIcon(0, pixmapArray[numStars-1]) 为该项目设置适当的 QPixmap。

注意:您可能还需要在 QTreeWidget 上调用 setIconSize() 以确保您的像素图以您想要的大小显示(而不是自动缩小以适应较小的空间)

关于c++ - Qt - 如何绘制平铺像素图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24501704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com