重叠QGraphicsPixmapItem' s

时间:2018-03-20 10:45:34

标签: c++ qt

首先,我是一个初学者,请原谅我,如果这个问题是愚蠢的或误导的。 我有下面的问题,我创建像这样的图形

setPixmap(QPixmap(":Graphics/Terrain"));

(这是一个正方形),然后我想添加框架(红色od蓝色将取决于某些条件)。我有单独的图形文件,当我添加它(如上所述)时,在屏幕上显示中间有白色方块的框架,其中覆盖了更多的" Terrain"。如何使这个白色方块透明?

setPixmap(QPixmap(":Graphics/Terrain"));
/*
if (ifPlayers)
{
    setPixmap(QPixmap(":Graphics/Blue"));
}
else
{
    setPixmap(QPixmap(":Graphics/Red"));
}
*/

当我添加框架时,它覆盖了terrain.png。我希望它们重叠。

1 个答案:

答案 0 :(得分:1)

Pixmaps不会彼此堆叠:每次调用setPixmap都会替换可以在QLabel中加载的唯一像素图。

如果框架不太精细,你可以使用qss,即使用CSS样式表为标签设置边框:

if (ifPlayers)
{
    setStyleSheet("border: 1px solid blue;");
}
else
{
    setStyleSheet("border: 1px solid red;");
}

有关在Qt小部件中使用CSS的更多信息,here