Как создать иконку в трее с пользовательским изображением, используя QT? - PullRequest
0 голосов
/ 02 октября 2009

Я попытался создать иконку, нарисованную на заказ, используя 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();
}

1 Ответ

1 голос
/ 02 октября 2009

Я не мог понять почему, но если вы сохраните файл в файле, вы увидите, что изображение не заполнено. Но если вы заполните 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...