gpt4 book ai didi

c++ - QGraphicsWidget 的上下文菜单事件

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:15 27 4
gpt4 key购买 nike

在我的应用程序中,我继承了 QGraphicsWidget
在绘画中,我画了一条笔宽为 4 的线。
我重新实现了 boundingRect() 和 shape()。
但是每次单击鼠标右键时我都无法捕获上下文菜单事件。
有什么问题。(笔宽?)

 //Sample code for boundingRect() and shape()
QRectF boundingRect() const
{
qreal rectLeft = x1 < x2 ? x1 : x2;
qreal rectTop = y1 < y2 ? y1 : y2;
qreal rectWidth = (x1 - x2) != 0 ? abs(x1-x2) : 4;
qreal rectHeight = (y1 - y2) != 0 ? abs(y1 -y2) : 4;

return QRectF(rectLeft,rectTop,rectWidth,rectHeigt);
}

QPainterPath shape()
{
QPainterPath path;
path.addRect(boundingRect());
return path;
}

最佳答案

您还可以重新实现 QWidget::mousePressEvent(),检查是否只有 rightMouseButton 被按下并调用您的方法,您将在其中手动显示 QMenu。

关于c++ - QGraphicsWidget 的上下文菜单事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3013102/

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