如何在qt中执行重叠的自定义项
How to do overlapping custom items in qt?
就像标题一样。我的对象很少,我想为它们设置图形并相互重叠。我正在设置 18 个正方形(地形(。我正在添加这个地形图形:
setPixmap(QPixmap(":Graphics/Terrain"));
是这样的。
然后我想给它添加框架。我有 4 个格式.png的文件,每个文件都是 200x200 像素。第一个是地形.png - 它是一个绿色的正方形,第二个和第三个是框架,大约 20px 宽,中心透明(带有 alpha 通道(,最后一个.png文件是 City.png,在 City.png 的左上角,有一个小图形,其余是透明的(alpha 通道(。当我尝试以与地形相同的方式设置框架时.png:
setPixmap(QPixmap(":Graphics/Frame"));
它涵盖了所有地形.png图形,尽管 frame1.png 的中心是透明的。
此外,我想添加一些其他对象,例如城市.png。怎么办?Mayby除了使用这个setPixmap函数之外,还存在一些不同的方式?
当像这样使用时,setPixmap
方法似乎工作得很好:
QGraphicsScene* scene = new QGraphicsScene();
QGraphicsPixmapItem* itemA = new QGraphicsPixmapItem();
itemA->setPixmap(QPixmap(":/NonTransparentImage.png"));
scene->addItem(itemA);
QGraphicsPixmapItem* itemB = new QGraphicsPixmapItem();
itemB->setPixmap(QPixmap(":/TransparentImage.png"));
scene->addItem(itemB);
QGraphicsView* view = new QGraphicsView(scene);
view->show();
如您所料,透明itemB
重叠itemA
。
相关文章:
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- C++自定义比较函数
- 如何比较自定义类的std::变体
- std::设置自定义比较器
- 如何正确实现和访问运算符的各种自定义枚举器
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 自定义先决条件对移动分配运算符有效吗
- 使用VS Code和CMake Tools运行自定义命令
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- std::ranges::elements_view,用于自定义类似元组的数据
- 跟随整数索引列表的自定义类迭代器
- 参数化自定义CMake工具链
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- 如何在自定义类中启用'auto loops'?
- 使用QJsEngine在Qt中注册自定义类型
- Qt自定义QPush按钮未显示在布局上
- 自定义对象的dlib序列化在gcc中失败
- 自定义创建QFuture
- 重叠小部件的 QT 自定义布局示例无法编译