gpt4 book ai didi

c++ - 从 QGraphicsItem 获取 QGraphicsView 的大小

转载 作者:行者123 更新时间:2023-11-28 00:28:58 25 4
gpt4 key购买 nike

:如何获取graphicsview widthheight来 self 自己的graphicsItem来自 QGraphicsItem 的子类?

最佳答案

假设你的场景只有一个 View :

#include <QtWidgets>

class SimpleItem : public QGraphicsItem
{
public:
QRectF boundingRect() const
{
qreal penWidth = 1;
return QRectF(-10 - penWidth / 2, -10 - penWidth / 2, 20 + penWidth, 20 + penWidth);
}

void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QGraphicsView *view = scene()->views().first();
qDebug() << "View width:" << view->width() << "height:" << view->height();
painter->drawRect(-10, -10, 20, 20);
}
};

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QGraphicsView view;
QGraphicsScene *scene = new QGraphicsScene;
scene->addItem(new SimpleItem());
view.setScene(scene);
view.show();
return app.exec();
}

参见 QGraphicsItem::scene()QGraphicsScene::views() .

关于c++ - 从 QGraphicsItem 获取 QGraphicsView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23687780/

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