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 24 d3b3
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));