如何使用QT创建带有自定义图像的托盘图标?
问题描述:
我试图在窗口下使用QT创建一个自定义绘制的图标。下面的代码显示一个图标,但看起来透明,而不是颜色来填充:(。操作系统是WinXP的SP3,IDE是最新QTCreator。如何使用QT创建带有自定义图像的托盘图标?
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用于修改“:)。 – grigoryvp 2009-10-02 08:08:23