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