QImage source;
QImage dest;
for(unsigned y=0; y<height; ++y)
{
for(unsigned x=0; x<width; ++x)
{
QColor value = source.color(source.pixelIndex(x, y)); // works fine
const unsigned r = value.red(), g = value.green(), b = value.blue();
// some processing
dest.setColor(dest.pixelIndex(x, y), QRgb(r,g,b)); // build error
}
}
我在
QRgb(r,g,b)
上收到构建错误error: functional cast expression list treated as compound expression
我分开了该行的其他部分,因此只有
QRgb
无法构建(我将它放在单独的行上以隔离问题)我是qt的新手,所以我正在翻阅文档...
https://www.vision.ee.ethz.ch/computing/sepp-irix/qt-2.1.1-to/qcolor.html#24d3b3
https://www.vision.ee.ethz.ch/computing/sepp-irix/qt-2.1.1-to/desktop-desktop-cpp.html#qRgb
据我所知,我使用它们的方式与他们完全相同...我什至尝试过
QRgb(0,0,0)
,但它不起作用。我无法克服此构建错误,请帮助
最佳答案
问题在于QRgb
不是类或函数,而是类型名称。我不能将其用作构造QRgb
值的类或函数。您需要改用qRgb全局函数,例如:
dest.setColor(dest.pixelIndex(x, y), qRgb(r,g,b));