首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何制作半透明的QGraphicsItem?

如何制作半透明的QGraphicsItem?
EN

Stack Overflow用户
提问于 2020-03-07 21:59:30
回答 1查看 369关注 0票数 1

我正在开发一个QT,它通过各种形状从图形视图中注释图片,目前开发的最简单的图形界面是矩形。在按下按钮后,我设法将一个矩形添加到图像中,并使用setFlag函数将其移动。我现在需要做的是确保矩形是半透明的,这样用户就可以看到确切的注释。我的矩形按钮代码:

代码语言:javascript
复制
void MainWindow::on_pushButton_11_clicked()  // rectangle shape creator
{
    QBrush redBrush(Qt::red);
    QBrush blueBrush(Qt::blue);
    QPen blackpen(Qt::black);
    blackpen.setWidth(3);
    rectangle = scene->addRect(-100,-100,50,50,blackpen,blueBrush);
    rectangle->setFlag(QGraphicsItem::ItemIsMovable);
}

我研究了Qt文档,发现来自QGraphicsItem库的不透明函数可能是解决这个问题的方法,但是我找不到实现这个功能的方法。任何帮助或建议都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-07 22:11:29

有几种解决办法:

  • 使用将使项在填充和边框颜色中透明的setOpacity()方法。

rectangle->setOpacity(.2);

  • If --您想要在填充颜色中设置透明度--然后必须将透明的QColor设置为QBrush。

rectangle->setFlag(QGraphicsItem::ItemIsMovable);

  • If QColor brush_color(Qt::蓝色);brush_color.setAlpha(50);QPen黑笔(Qt::black);blackpen.setWidth(3);矩形=场景->addRect( -100,-100,50,50,黑笔,brush_color);要在边界设置透明度,则必须向QBrush设置透明QColor。

rectangle->setFlag(QGraphicsItem::ItemIsMovable); QBrush blueBrush(Qt::蓝色);QColor black_color(Qt::黑色);black_color.setAlpha(50);QPen黑笔(Black_color);blackpen.setWidth(3);矩形=场景->addRect( -100,-100,50,blackpen.setWidth,blueBrush)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60582582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档