在 Qt 中的图形视图小部件对象上显示像素图

Displaying a Pixmap on a Graphics View Widget Object in Qt

我正在尝试在“图形视图”小部件上显示一个像素图。我相信它缺少的是一种实际上 link QGraphicsScene "scene" 到我在表单上的小部件的方法,看到你可以创建多个图形视图对象,必须有一种方法来明确说明哪个您希望显示像素图的图形视图项目。 Graphics View 小部件对象称为 PixMapView,在我的代码中使用与我的 GraphicsView 对象相同的名称并没有改变我的程序的功能。下面的代码编译但只显示一个空白的白色 Graphics View 对象。我的目标是在像素图上创建一条对角线并将其显示在图形视图对象上。以前的第一部分代码,一直到 while 循环的开始,都使用 fillRect 和一些自动填充背景代码。我相信问题完全出在 while 循环之后的代码部分 *while 循环本质上是唯一不是来自 Qt 文档的部分。所以简而言之,有人可以看看这段代码,看看为什么我的像素图没有显示在我的图形视图小部件上。

 CanvasTest::CanvasTest(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::CanvasTest)
{
    ui->setupUi(this);
    QPixmap pm(200,200);
    QPainter pmp(&pm);
    pmp.setPen(Qt::black);
    int counter = 0;
    while (counter < 200)
    {
        pmp.drawPoint(counter,counter);
        counter++;
    }

    pmp.end();
    QGraphicsScene scene;
    QGraphicsPixmapItem item(pm);
    scene.addItem(&item);
    QGraphicsView view(&scene);
    view.show();
}

图形视图小部件的表单外观

我想在图片中显示的小部件上显示对角线

ui->(whatever name your widget has)->( any method your widget is associated with)

注意:这是由于自动代码ui->setupUI(this);