我有一个以以下格式保存的图标:
//icon.h
extern const unsigned char icon[];
//icon.cpp
const unsigned char icon[]={0x17,0x3f,0x0c,....,0x10,0x06}
现在我想将此图标添加到状态栏。
我该怎么做?
谢谢。
答案 0 :(得分:8)
首先创建一个加载图标数据的小部件,就像您在其上设置QPixmap的QLabel一样。该图像的格式是什么?您必须使用其中一个构造函数将其加载到pixmap中,或者您可以尝试使用loadFromData()
加载它。
然后将该小部件添加到状态栏,如下所示:
statusBar()->addWidget(yourIconWidget);
查看statusBar()
,addWidget()
和addPermanentWidget()
。
如何创建窗口小部件的示例可以是:
QPixmap *pixmap = new QPixmap;
// Note that here I don't specify the format to make it try to autodetect it,
// but you can specify this if you want to.
pixmap->loadFromData(icon, sizeof(icon) / sizeof(unsigned char));
QLabel *iconLbl = new QLabel;
iconLbl->setPixmap(pix);
statusBar()->addWidget(iconLbl);
如上所述,指定格式是在here上详细说明的。