How to include .txt on Qt
- 
QLabel abc; // int Cost = ci.Cost; QPixmap pix( ci.ImageName ); QPixmap scaledPix = pix.scaled( 8, 8, Qt::KeepAspectRatio, Qt::SmoothTransformation ); abc.setPixmap(scaledPix); abc.show();i have this : so the error come from "QPixmap pix" who is empty so the line "QPixmap pix( ci.ImageName );" dont create a pixmap from my QMap ? 
- 
- QPixmap pix( ci.ImageName );" dont create a pixmap from my QMap ?
 That would be my guess yes. You can check pix with isNull() 
- 
So i add the if : if (pix.isNull()){ QPixmap pix(":/img/ballebleue.png"); };Same error as before "QPixmap::scaled: Pixmap is a null pixmap" @Payx said in How to include .txt on Qt: if (pix.isNull()){ 
 QPixmap pix(":/img/ballebleue.png");
 };Well that would not really change anything as you create a new local pix and its not related to the "pix" outside 
 You should find out if its invalid and then why it isif (pix.isNull()){ 
 qDebug() << "yep its no good";
 return;
 };
- 
okay so i have that. yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good QImage::pixel: coordinate (144,540) out of range QImage::pixel: coordinate (145,540) out of range QImage::pixel: coordinate (146,540) out of range QImage::pixel: coordinate (147,540) out of range QImage::pixel: coordinate (148,540) out of range QImage::pixel: coordinate (149,540) out of range QImage::pixel: coordinate (150,540) out of range QImage::pixel: coordinate (151,540) out of range yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good QImage::pixel: coordinate (168,540) out of range QImage::pixel: coordinate (169,540) out of range QImage::pixel: coordinate (170,540) out of range QImage::pixel: coordinate (171,540) out of range QImage::pixel: coordinate (172,540) out of range QImage::pixel: coordinate (173,540) out of range QImage::pixel: coordinate (174,540) out of range QImage::pixel: coordinate (175,540) out of range QImage::pixel: coordinate (168,541) out of range QImage::pixel: coordinate (169,541) out of range QImage::pixel: coordinate (170,541) out of range QImage::pixel: coordinate (171,541) out of range QImage::pixel: coordinate (172,541) out of range QImage::pixel: coordinate (173,541) out of range QImage::pixel: coordinate (174,541) out of range QImage::pixel: coordinate (175,541) out of range QImage::pixel: coordinate (168,542) out of range QImage::pixel: coordinate (169,542) out of range QImage::pixel: coordinate (170,542) out of range QImage::pixel: coordinate (171,542) out of range QImage::pixel: coordinate (172,542) out of range QImage::pixel: coordinate (173,542) out of range QImage::pixel: coordinate (174,542) out of rangethat's mean that my pix is null right? 
- 
okay so i have that. yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good QImage::pixel: coordinate (144,540) out of range QImage::pixel: coordinate (145,540) out of range QImage::pixel: coordinate (146,540) out of range QImage::pixel: coordinate (147,540) out of range QImage::pixel: coordinate (148,540) out of range QImage::pixel: coordinate (149,540) out of range QImage::pixel: coordinate (150,540) out of range QImage::pixel: coordinate (151,540) out of range yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good yep its no good QImage::pixel: coordinate (168,540) out of range QImage::pixel: coordinate (169,540) out of range QImage::pixel: coordinate (170,540) out of range QImage::pixel: coordinate (171,540) out of range QImage::pixel: coordinate (172,540) out of range QImage::pixel: coordinate (173,540) out of range QImage::pixel: coordinate (174,540) out of range QImage::pixel: coordinate (175,540) out of range QImage::pixel: coordinate (168,541) out of range QImage::pixel: coordinate (169,541) out of range QImage::pixel: coordinate (170,541) out of range QImage::pixel: coordinate (171,541) out of range QImage::pixel: coordinate (172,541) out of range QImage::pixel: coordinate (173,541) out of range QImage::pixel: coordinate (174,541) out of range QImage::pixel: coordinate (175,541) out of range QImage::pixel: coordinate (168,542) out of range QImage::pixel: coordinate (169,542) out of range QImage::pixel: coordinate (170,542) out of range QImage::pixel: coordinate (171,542) out of range QImage::pixel: coordinate (172,542) out of range QImage::pixel: coordinate (173,542) out of range QImage::pixel: coordinate (174,542) out of rangethat's mean that my pix is null right? 
- 
Yes i have that exactly :http://hpics.li/cc11b5c 
- 
Yes i have that exactly :http://hpics.li/cc11b5c @Payx 
 Oh, they are under IMGRight click one image file. 
 Find Get Path
 should be something like:/IMG/filename.xxx Fix the names in the table. 
 As far as i recall they start like ":/filename.xxx" and that dont match. Note: Here i do NOT have them in a sub folder like you have (img) so path is :/p1.png 
- 
QMap<QRgb, CostInfo > Costs = { { QColor(255 , 0 , 0 ).rgb(), { ":/img/fraise.png", 10 }}, { QColor(0 , 255 , 0 ).rgb(), { ":/img/balleverte.png", 20 }}, { QColor(0 , 0 , 255 ).rgb(), { ":/img/balebleue.png", 20 }}, { QColor(255 , 255 , 255 ).rgb(), { ":/img/balleblanche.png", 20 }}, { QColor(255 , 128 , 0 ).rgb(), { ":/img/ballepeche.png", 20 }}, { QColor(0 , 0 , 0 ).rgb(), { ":/img/noir.png", 20 }}, { QColor(102 , 51 , 0 ).rgb(), { ":/img/marron.png", 20 }}, { QColor(255 , 102 , 78 ).rgb(), { ":/img/rose.png", 20 }}, { QColor(0 , 204 , 204 ).rgb(), { ":/img/turquoise.png", 20 }}, { QColor(255 , 178 , 102 ).rgb(), { ":/img/beige.png", 20 }}, { QColor(76 , 0 , 153 ).rgb(), { ":/img/violet.png", 20 }}, { QColor(100 , 100 , 100 ).rgb(), { ":/img/gris.png", 20 }}, };i didnt mention that but i had already changed the path 
- 
QMap<QRgb, CostInfo > Costs = { { QColor(255 , 0 , 0 ).rgb(), { ":/img/fraise.png", 10 }}, { QColor(0 , 255 , 0 ).rgb(), { ":/img/balleverte.png", 20 }}, { QColor(0 , 0 , 255 ).rgb(), { ":/img/balebleue.png", 20 }}, { QColor(255 , 255 , 255 ).rgb(), { ":/img/balleblanche.png", 20 }}, { QColor(255 , 128 , 0 ).rgb(), { ":/img/ballepeche.png", 20 }}, { QColor(0 , 0 , 0 ).rgb(), { ":/img/noir.png", 20 }}, { QColor(102 , 51 , 0 ).rgb(), { ":/img/marron.png", 20 }}, { QColor(255 , 102 , 78 ).rgb(), { ":/img/rose.png", 20 }}, { QColor(0 , 204 , 204 ).rgb(), { ":/img/turquoise.png", 20 }}, { QColor(255 , 178 , 102 ).rgb(), { ":/img/beige.png", 20 }}, { QColor(76 , 0 , 153 ).rgb(), { ":/img/violet.png", 20 }}, { QColor(100 , 100 , 100 ).rgb(), { ":/img/gris.png", 20 }}, };i didnt mention that but i had already changed the path @Payx 
 oh, it seems correct. You checked they are truly correct?Please qDebug() << ci.ImageName to verify the variable contains the path from 
 the table.just above where you try to make pixmap qDebug() << "check me--->" << ci.ImageName; 
 QPixmap pix( ci.ImageName );
- 
I have check me---> ""so there is nothing i declared as QString ImageName 
 so maybe it is that ?
- 
Are you sure you are retrieving a valid value from your map ? 
- 
From what you wrote before, ci.ImageName is empty, correct ? If so, check the key that you use to retrieve the data from the map. If not part of the map, depending on the technique used, you will get a default constructed object. 
- 
Yes it's empty. foreach( QRgb key, Costs.keys() ) { QColor BaseColor( key ); if (Costs.contains( colour.rgb() ) || IsCloseColor(BaseColor, colour) ) { CostInfo& ci = Costs[colour.rgb()]; QLabel abc; // int Cost = ci.Cost; qDebug() << "check me--->" << ci.ImageName; QPixmap pix( ci.ImageName ); if (pix.isNull()){ qDebug() << "yep its no good"; return; }; QPixmap scaledPix = pix.scaled( 8, 8, Qt::KeepAspectRatio, Qt::SmoothTransformation ); abc.setPixmap(scaledPix); abc.show();it's what i have. 
- 
Your logic is flawed. If Costs contains colour.rgb()then you can go on with the rest of your logic else you should go through your map and useIsCloseColorto determine which key is good. Then you can use that key to go further.
- 
You're already doing it with your foreach loop and the documentation of QMap shows several ways of looping through its content. 
- 
something like that ? foreach( QRgb key, Costs.keys() ) { QColor BaseColor( key ); if (Costs.contains( colour.rgb() )) { CostInfo& ci = Costs[colour.rgb()]; QLabel abc; // int Cost = ci.Cost; qDebug() << "check me--->" << ci.ImageName; QPixmap pix( ci.ImageName ); if (pix.isNull()){ qDebug() << "yep its no good"; return; }; QPixmap scaledPix = pix.scaled( 8, 8, Qt::KeepAspectRatio, Qt::SmoothTransformation ); abc.setPixmap(scaledPix); abc.show(); } else { if (IsCloseColor(BaseColor, colour) == true){ CostInfo& ci = Costs[colour.rgb()]; QColor BaseColor( key ); QPixmap pix( ci.ImageName ); QPixmap scaledPix = pix.scaled( 8, 8, Qt::KeepAspectRatio, Qt::SmoothTransformation ); abc.setPixmap(scaledPix); abc.show(); } else { qDebug() << "yep its no good"; } }
