如何使用QT创建带有自定义图像的托盘图标?

如何使用QT创建带有自定义图像的托盘图标?,qt,trayicon,Qt,Trayicon,我尝试在窗口下使用QT创建自定义绘制图标。下面的代码显示一个图标,但它看起来是透明的,而不是填充颜色的:(.OS是WinXP SP3,IDE是最新的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

我尝试在窗口下使用QT创建自定义绘制图标。下面的代码显示一个图标,但它看起来是透明的,而不是填充颜色的:(.OS是WinXP SP3,IDE是最新的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();
}

我不知道为什么,但如果将oImg保存到文件中,可以看到图像未填充。但是如果直接填充QPixmap而不是oImg,则可以看到图标

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();
}
谢谢:)。QT文档误导了我,告诉我“QPixmap用于使用,QImage用于修改”:。