gpt4 book ai didi

C++ Qt QGraphicsWidget 背景

转载 作者:太空宇宙 更新时间:2023-11-04 13:51:15 27 4
gpt4 key购买 nike

我正在制作简单的 2D 游戏(迷宫),我正在使用 QGraphicsView、QGraphicsScene 和 QGraphicsGridLayout 来管理网格中的图 block 。

map 用字符串表示(#是墙,.是空域...)。

所以我要遍历这个字符串,用像素图创建标签并将它们插入到网格布局中:

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 窗口)上显示标签时,一切正常。但是插入到场景中后,它的背景是灰色的。

我试过没有网格层(只有图形 View 和场景)但结果是一样的。

有什么方法可以将场景项目的背景设置为透明吗?

最佳答案

可以设置标签的样式表为背景透明无边框:

label->setStyleSheet("background: transparent; border: none");

关于C++ Qt QGraphicsWidget 背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23290878/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com