gpt4 book ai didi

c++ - 使用 QGraphicsItemGroup 选择多个元素

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

在 Qt 4.7.1 中,我尝试使用 QGraphicsItemGroup 选择多个元素。目标是在选择一个元素时选择组中的所有元素。

如果我单独创建对象,我在构造函数中设置 ItemIsSelectable 标志并将它们添加到场景中,我可以毫无问题地(单独)选择它们。

.. 但是当我创建组,将项目添加到其中,然后将组添加到场景时,我无法再选择我的项目。可能是什么问题?

这是我的代码:

#include "stdafx.h"

#include <QtCore/QtCore>
#include <QtGui/QtGui>

class CustomElipse : public QGraphicsEllipseItem
{
public:
CustomElipse (const QRectF& rect) : QGraphicsEllipseItem(rect) {
setFlag(QGraphicsItem::ItemIsSelectable);
}
};

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QGraphicsScene scene;

QGraphicsItemGroup * myGroup = new QGraphicsItemGroup();
CustomElipse *elipse1 = new CustomElipse(QRectF(30, 30, 15, 25));
CustomElipse *elipse2 = new CustomElipse(QRectF(70, 70, 25, 15));

myGroup->addToGroup(elipse1); myGroup->addToGroup(elipse2);
scene.addItem(myGroup);

QGraphicsView view(&scene); view.show();

return a.exec();
}

最佳答案

您还需要使 QGraphicsItemGroup 可选择:

QGraphicsItemGroup * myGroup = new QGraphicsItemGroup();
myGroup->setFlag(QGraphicsItem::ItemIsSelectable, true); // add this line
...

这让您可以选择整个组。

关于c++ - 使用 QGraphicsItemGroup 选择多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34285100/

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