Qt图形视图框架(四) Item之间的关系

来源:互联网 发布:公知资中筠被约谈 编辑:程序博客网 时间:2024/05/22 13:15

Item之间的关系


1 创建一个以widget作为基类的项目,为了方便删除widget头文件以及其源文件,当然可以不删除
2 因为要用到c++11特性,所以在pro文件中添加语句:
CONFIG += c++11 
3 修改main, 观察效果:
#include <QtWidgets>#include <QApplication>int main(int argc, char *argv[]){    QApplication a(argc, argv);    QGraphicsScene scene(0, 0, 1000, 1000);    QGraphicsView view(&scene);    view.setSceneRect(0, 0, 1000, 1000);    //Z序,效果不是很明显    auto bkrect = new QGraphicsRectItem(0, 0, 200, 200);    bkrect->setFlag(QGraphicsItem::ItemIsMovable, true);    bkrect->setFlag(QGraphicsItem::ItemIsSelectable, true);    //bkrect->setZValue(0);    bkrect->setBrush(Qt::gray);    scene.addItem(bkrect);    auto text = new QGraphicsSimpleTextItem("Text");    text->setFlag(QGraphicsItem::ItemIsMovable, true);    text->setFlag(QGraphicsItem::ItemIsSelectable, true);    //text->setZValue(1);    scene.addItem(text);    //parent    //text->setParentItem(bkrect);    //分组    /*QList<QGraphicsItem *> items;    items.append(bkrect);    items.append(text);    auto group = scene.createItemGroup(items);    group->setFlag(QGraphicsItem::ItemIsMovable, true);    group->setFlag(QGraphicsItem::ItemIsSelectable, true);*/    view.show();    return a.exec();}