Qt QBrush纹理,无需平铺

Qt QBrush纹理,无需平铺,qt,textures,qpainter,qimage,Qt,Textures,Qpainter,Qimage,当使用带有纹理的QBrush时,有没有一种简单的方法来消除平铺 QImage* texture = CreateQImage(); // create texture QBrush* brush = new QBrush(*texture); // create texture brush QPainter* painter = CreateQPainter(); // create painter painter->fillRectangle(0, 0,

当使用带有纹理的QBrush时,有没有一种简单的方法来消除平铺

QImage*   texture = CreateQImage();       // create texture
QBrush*   brush   = new QBrush(*texture); // create texture brush
QPainter* painter = CreateQPainter();     // create painter

painter->fillRectangle(0, 0, 500, 500, *brush);
假设我们有一个大小为20x20像素的QImage纹理。上面的代码将在被填充的矩形上平铺此纹理。有没有一种简单的方法可以只绘制该纹理的一个实例?QBrush的使用至关重要

理论上,我可以重新加载QPaint的每个填充和绘制方法,该方法使用QBrush作为输入,并使用QPaint.drawImage()方法,但我认为必须有一种更简单的方法

QPainter.drawImage() 谢谢,Tony。

我认为没有(请参阅-唯一一种纹理平铺的样式),它也不会真正有意义。如果您只需要一张图像,请使用您所述的
drawImage
功能


(不平铺的问题之一是:用什么填充矩形的其余部分?没有?一些默认背景色?一些其他
QBrush
属性?

是的,矩形的其余部分根本不会被填充。我希望获得与GDI+相同的结果。