Question

J'ai essayé de créer une icône peinte à l'aide personnalisée QT sous la fenêtre. Le code suivant affiche une icône, mais il semble transparent au lieu de couleur rempli :(. OS est Windows XP SP3, IDE est le dernier QtCreator.

int main( int argc, char* argv[] )
{
  QApplication oApp( argc, argv );

  QImage oImg( 16, 16, QImage::Format_RGB32 );
  oImg.fill( qRgb( 255, 0, 255 ) );
  QPixmap oPixmap;
  oPixmap.fromImage( oImg, Qt::ColorOnly );
  QIcon oIcon( oPixmap );
  QSystemTrayIcon oTrayIcon( oIcon );
  oTrayIcon.show();

  return oApp.exec();
}
Était-ce utile?

La solution

Je ne pouvais pas comprendre pourquoi, mais si vous enregistrez OIMG dans un fichier, vous pouvez voir que l'image ne soit pas remplie. Mais si vous remplissez QPixmap directement au lieu de OIMG vous pouvez voir l'icône.

int main( int argc, char* argv[] )
{
    QApplication oApp( argc, argv );

    QPixmap oPixmap(16,16);
    oPixmap.fill(qRgb( 255, 0, 255 ));

    QIcon oIcon( oPixmap );
    QSystemTrayIcon oTrayIcon( oIcon );
    oTrayIcon.show();

    return oApp.exec();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top