我正在尝试在“图形视图”小部件上显示像素图。我相信它缺少的是一种实际链接QGraphicsScene"场景的方法。对于我在窗体上的小部件,看到你可以创建多个图形视图对象,必须有一种方法来明确说明你想要显示像素图的哪个图形视图项。 Graphics View小部件对象称为PixMapView,在我的代码中使用与我的GraphicsView对象相同的名称并没有改变我的程序的功能。下面的代码编译,但只显示一个空白的图形视图对象。我的目标是在像素图上创建一条对角线并将其显示在图形视图对象上。以前代码的第一部分,一直到while循环的开始,使用fillRect和一些自动填充背景代码。我认为问题纯粹是在while循环之后的代码部分中* while循环本质上是唯一不属于Qt文档的部分。所以简而言之,有人可以看一下这段代码,看看为什么我的pixmap没有显示在我的Graphics View Widget上。
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();
}
图形视图窗口小部件的表单是什么样的
我想在图片
中显示的小部件上显示对角线答案 0 :(得分:0)
工作代码
QGraphicsScene scene;
QGraphicsView view(&scene);
QPixmap *pix = new QPixmap(200,200);
QGraphicsPixmapItem* itm(scene.addPixmap(*pix));
QPainter *painter = new QPainter(pix);
painter->setPen(*(new QColor(255,0,0)));
int c= 0;
while (c< 300)
{
painter->drawPoint(c,c);
c++;
}
itm->setPixmap(*pix);
view.show();
答案 1 :(得分:0)
ui->(whatever name your widget has)->( any method your widget is associated with)
注意:这是由于自动代码ui-> setupUI(this);