对于小工具,我可以致电'提高'这使小部件保持在其他任何东西之上,但这似乎不适用于任何渲染的QPixmap。
如何确保QPixmap保留在其他任何内容之上?
在我的paintEvent函数中:
QPainter objPainter(this);
if ( strImage.isEmpty() != true ) {
qint16 int16NudgeImageX = mpobjNode->int16GetAttr(clsXML::mscszAttrNudgeImageX)
,int16NudgeImageY = mpobjNode->int16GetAttr(clsXML::mscszAttrNudeImageY);
QPixmap pmImage(":/" + strImage);
QSize szImage = pmImage.size();
QPoint ptImage(rctGeom.center().x() - (szImage.width() / 2) + int16NudgeImageX
,rctGeom.center().y() - (szImage.height() / 2) + int16NudgeImageY);
QRect rctImage(ptImage, szImage);
objPainter.drawPixmap(rctImage, pmImage);
}
答案 0 :(得分:3)
QPixmap不是小部件(没有父级,也没有布局)。
QPixmap类是一个离屏图像表示,可用作绘图设备。
使用QLabel与父(和布局)
一起使用QLabel* label = new QLabel(parent);
label->setPixmap(pixmap);
答案 1 :(得分:1)
如果您想确保您的QPixmap被绘制在窗口小部件中的所有其他内容之上,只需将其绘制到最后。 请记住,其他小部件可能会在您的小部件上方绘制。