gpt4 book ai didi

c++ - 使用 QGraphicsView 方法 Scene() 分配 QGraphicsScene 变量

转载 作者:行者123 更新时间:2023-11-28 05:02:33 28 4
gpt4 key购买 nike

如果我一开始就想使用 QGraphicsView::scene(),语法会是什么样子?我的目标是使用 slider 更改图形 View 对象中 pixmap 的比例。我想使用 QgraphicsView::scene()QScene::itemsAt() 等找到原始的 pixmap 然后使用 QPixmap::scaled()(我发现这将是确保我为 pixmap 设置的装饰属性设置正确的唯一方法)。但是,我对 QGraphicsView::scene() 的语法有疑问。我的尝试如下。我还在为上下文创建一个 Qt 小部件应用程序。

QGraphicsViewScene graphicsScene = ui->PixmapView->scene();
QGraphicsPixmapItem graphicsPixmapItem = graphicsScene.itemAt(0, 0);

编辑如果我要将我的 QPixmap pixmap* 存储为成员变量,我不完全确定如何在它保留在我的插槽范围内的地方实现它。

编辑静态成员变量?

最佳答案

您可以使您的QGraphicsPixmapItem 对象成为您类的成员变量。然后您就可以从您的任何类成员函数访问它。

这是一个简单的例子:

class MyClass : public QWidget
{
Q_OBJECT
public:
MyClass(QWidget *parent = nullptr) : QWidget(parent)
{
// create graphics view, scene, etc..
}

public slots:
void openActionTriggered()
{
...
myItem = scene->addPixmap(myPixmap); // you can create your item however you want.. this is just an example
}
void mySlot()
{
if(myItem)
{
// do something with myItem
}
}

private:
QGraphicsPixmapItem *myItem = nullptr; // myItem is a member variable of
QGraphicsScene *scene = nullptr; // I made scene a member variable so it can be accessed from any member functions
}

关于c++ - 使用 QGraphicsView 方法 Scene() 分配 QGraphicsScene 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45558888/

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