As janorcutt alluded to, ":/images/*.png" is not the name of an image file so you end up with a null QIcon. You want to load a single image file into each cell. Assuming your files are named img0.png through img8.png, then:
Qt Code:
  1. for (int r = 0; r < t.rowCount(); ++r)
  2. {
  3. for (int c = 0; c < t.columnCount(); ++c)
  4. {
  5. item->setBackgroundColor(Qt::black);
  6. item->setIcon(
  7. QString(":/images/img%1.png").arg(r * t.columnCount() + c)
  8. )
  9. );
  10. t.setItem(r, c, item);
  11. }
  12. }
To copy to clipboard, switch view to plain text mode 
should be closer to what you thought you were doing.

BTW: Your initial screen shot shows a 4x3 grid not a 3x3 grid