Qt文档阅读笔记-Simple Anchor Layout Example解析
生活随笔
收集整理的這篇文章主要介紹了
Qt文档阅读笔记-Simple Anchor Layout Example解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個例子展示了錨布局在視圖場景中的使用。
此篇例子其實就是教QGraphicsAnchorLayout類的使用。
首先創建了QGraphicScene(場景),3個widgets(a,b,c),以及一個QGraphicsAnchorlayout(布局)。
QGraphicsScene scene;Widget *a = new Widget(Qt::blue, Qt::white, "a");a->setPreferredSize(100, 100);Widget *b = new Widget(Qt::green, Qt::black, "b");b->setPreferredSize(100, 100);Widget *c = new Widget(Qt::red, Qt::black, "c");c->setPreferredSize(100, 100);QGraphicsAnchorLayout *layout = new QGraphicsAnchorLayout;?使用錨將a掛件設置到錨的最左上角,可以使用下面兩行代碼:
layout->addAnchor(a, Qt::AnchorTop, layout, Qt::AnchorTop);layout->addAnchor(a, Qt::AnchorLeft, layout, Qt::AnchorLeft);也可以使用一行代碼:
layout->addCornerAnchors(a, Qt::TopLeftCorner, layout, Qt::TopLeftCorner);將掛件b設置到掛件a的右下方:
layout->addAnchor(b, Qt::AnchorLeft, a, Qt::AnchorRight);layout->addAnchor(b, Qt::AnchorTop, a, Qt::AnchorBottom);將掛機c放到b的下面:
layout->addAnchor(b, Qt::AnchorBottom, c, Qt::AnchorTop);將掛機b和c水平對齊:
layout->addAnchors(b, c, Qt::Horizontal);如果不對齊就是這樣的效果:
掛機c被錨固定到底部的最右邊
layout->addCornerAnchors(c, Qt::BottomRightCorner, layout, Qt::BottomRightCorner);?如果不固定就是這樣的效果:
最后把QGraphicsWidget放入到QGraphicsView中:
auto w = new QGraphicsWidget(nullptr, Qt::Window | Qt::CustomizeWindowHint | Qt::WindowTitleHint);w->setPos(20, 20);w->setMinimumSize(100, 100);w->setPreferredSize(320, 240);w->setLayout(layout);w->setWindowTitle(QApplication::translate("simpleanchorlayout", "QGraphicsAnchorLayout in use"));scene.addItem(w);QGraphicsView view;view.setScene(&scene);view.setWindowTitle(QApplication::translate("simpleanchorlayout", "Simple Anchor Layout"));view.resize(360, 320);view.show();return app.exec();總結
以上是生活随笔為你收集整理的Qt文档阅读笔记-Simple Anchor Layout Example解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Node.js笔记-使用socket.i
- 下一篇: Java笔记-JDBC心跳检测及断开重连