Перемещение RGBA QGraphicsPixmapItem - PullRequest
0 голосов
/ 26 ноября 2011

Если я добавлю QPixmap, созданный из RGB QImage в QGraphicsScene, и установлю его флаг ItemIsMovable, я смогу перетащить его.Однако, если я попытаюсь сделать то же самое с изображением RGBA, оно не будет работать.

#include <QtGui>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QPixmap>

#include "form.h"

Form::Form(QWidget *parent)
    : QWidget(parent)
{
  setupUi(this);

  // Doesn't work
  //QImage image(20,20, QImage::Format_ARGB32);
  //QColor black(0,0,0, 122);
  //image.fill(black.rgba());

  // Works
  QImage image(20,20, QImage::Format_RGB32);
  QColor black(0,0,0);
  image.fill(black.rgb());

  QGraphicsScene* scene = new QGraphicsScene;
  QGraphicsPixmapItem* item = scene->addPixmap(QPixmap::fromImage(image));
  item->setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);

  this->graphicsView->setScene(scene);

}

Нужно ли что-то особенное, чтобы иметь возможность перетаскивать объект RGBA по сцене?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...