【发布时间】:2014-04-25 19:49:37
【问题描述】:
我正在制作简单的 2D 游戏(迷宫),并且我正在使用 QGraphicsView、QGraphicsScene 和 QGraphicsGridLayout 将图块管理到网格中。
地图由字符串表示(# 是墙,. 是空字段...)。
所以我正在遍历这个字符串,使用像素图创建标签并将它们插入到网格布局中:
QLabel *label;
QGraphicsProxyWidget *widget;
...
for (..) {
for (..) {
label = new QLabel();
label->setPixmap(QPixmap(":/new/images/img/w.png"));
widget = scene->addWidget(label);
layout->addItem(widget, i, j);
}
}
其中场景是QGraphicsScene,布局是QGraphicsGridLayout。它工作正常,但我遇到像素图透明背景的问题。每个像素图由一些形状和透明背景组成。当我尝试在主小部件(QDialog 窗口)上显示标签时,一切正常。但是插入场景后,它的背景是灰色的。
我试过没有网格层(只有图形视图和场景),但结果是一样的。
有没有办法让场景中的项目背景透明?
【问题讨论】: