C++ boundingRect()的工作原理

C++ boundingRect()的工作原理,c++,qwt,rectangles,C++,Qwt,Rectangles,我有一些代码,我画了一个符号,并将其附加到绘图上。现在我想知道是否有一个用符号自动创建的边界矩形,这样我就可以编写一些代码来选择符号,这样用户就可以编辑它——例如,选择它以删除它 我在qwt_plot_marker.h中看到了一个boundingRect()方法,如何使用它来确定在实现以下代码时是否创建了一个矩形 void DataPointMarker::draw(QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &

我有一些代码,我画了一个符号,并将其附加到绘图上。现在我想知道是否有一个用符号自动创建的边界矩形,这样我就可以编写一些代码来选择符号,这样用户就可以编辑它——例如,选择它以删除它

我在qwt_plot_marker.h中看到了一个boundingRect()方法,如何使用它来确定在实现以下代码时是否创建了一个矩形

void DataPointMarker::draw(QPainter *p, 
const QwtScaleMap &xMap, const QwtScaleMap &yMap,
const QRect &) const
{
  const int posX = xMap.transform(m_positionX);
  const int posY = yMap.transform(m_positionY);

p->save();

symbol().draw(p, posX, posY);

p->restore();
符号在别处定义。提前感谢。

该函数返回一个足够大的矩形,以使序列中的所有点都适合该矩形。这是自动缩放所需要的,而绝对不是您想要的。你想要的是焦点或选择指示器。您可以查看qwt附带的
事件过滤器
示例。在那里可以选择和移动点/标记


qwt示例目录可以在qwt的基本目录中找到(至少在Windows上),例如
qwt-6.0\examples
。二进制文件位于
qwt-6.0\examples\bin
中。查看
INSTALL
文件,了解如何构建二进制文件。

对qt类不太熟悉,可能会有帮助吗?这是我在问问题之前看到的内容,但我无法理解。好的,我会尝试一下。你能提供一个例子的链接吗?如果有,或者请告诉我在哪里可以找到它?谢谢