0

我试图在窗口下使用 QT 创建一个自定义绘制的图标。以下代码显示一个图标,但它看起来是透明的而不是填充颜色:(。操作系统是 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();
}
4

1 回答 1

1

我不知道为什么,但是如果你将 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();
}
于 2009-10-02T07:40:05.163 回答