如何使用 QT 创建带有自定义图像的托盘图标?
我尝试在window下使用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();
}
I have tried to create a custom-painted icon using QT under window. The following code displays an icon, but it looks transparent instead of color filled :(. OS is WinXP SP3, IDE is latest 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();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不明白为什么,但是如果将 oImg 保存到文件中,您可以看到图像未填充。但是如果你直接填充QPixmap而不是oImg你就可以看到图标。
I couldn't figure out why, but if you save oImg to a file, you can see that the image is not filled. But if you fill QPixmap directly instead of oImg you can see the icon.