Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt GraphicsSellipseitem编号_Qt_Qgraphicsview_Qgraphicsitem_Qgraphicsscene_Ellipse - Fatal编程技术网

Qt GraphicsSellipseitem编号

Qt GraphicsSellipseitem编号,qt,qgraphicsview,qgraphicsitem,qgraphicsscene,ellipse,Qt,Qgraphicsview,Qgraphicsitem,Qgraphicsscene,Ellipse,因此,我正在构建一个应用程序,在这个应用程序中,我单击graphicsView,一个椭圆出现在我单击的确切位置。很好,现在我想给这些椭圆编号。我想在椭圆内设置一个文本。比如,当我第一次点击图形视图时,一个椭圆显示出来,里面写着“1”,然后我再次点击其他地方,另一个椭圆显示出来,这次是文本“2”,以此类推 void小部件::mousePressEvent(QMouseEvent*mouseEvent) { QPointF p=mouseEvent->localPos(); 如果(mouseEve

因此,我正在构建一个应用程序,在这个应用程序中,我单击graphicsView,一个椭圆出现在我单击的确切位置。很好,现在我想给这些椭圆编号。我想在椭圆内设置一个文本。比如,当我第一次点击图形视图时,一个椭圆显示出来,里面写着“1”,然后我再次点击其他地方,另一个椭圆显示出来,这次是文本“2”,以此类推

void小部件::mousePressEvent(QMouseEvent*mouseEvent)
{
QPointF p=mouseEvent->localPos();
如果(mouseEvent->button()==Qt::LeftButton&&
p、 x()>=20&&p.x()=20&&p.y()加法器(p.x()-l/2-14,p.y()-l/2-14,l,l,QPen(Qt::black));
elipse[count]->setFlags(QGraphicsSellipseitem::ItemIsMovable)
}

}
创建一个类来绘制椭圆,从QGraphicsSellipseitem派生(可能已经完成了) 使用
scene->addItem()
使用
setpos()

在该类中,创建一个静态成员
static int eliple\u count
并将其初始化为0。每次创建椭圆时增加该计数器,每次销毁椭圆时减少该计数器(将增加和减少计数器的代码放入构造函数和析构函数中)


您可以将一个成员作为QGraphicsTextItem添加到ellipse类中,然后创建对象并将其放置在ellipse构造函数中。这样,您可以将文本项放置在ellipse引用中的相对坐标中,它将随ellipse一起移动。

欢迎使用stackoverflow。您已经很好地说明了您的问题。很好。很好如果您还发布了您现在拥有的工作代码,这样人们就可以更容易地理解您在设计中所处的位置,那就太好了画图?不要用另一个问题和编辑来回答你自己的问题。只需编辑你的问题好吧,我想现在你的答案实际上是一个答案,所以没问题。