Qt конвертирует данные в QPixmap

Я пытаюсь преобразовать некоторые данные из QVector в QBitmap. Как я могу это сделать? У меня есть QVector QPointF, и я пытаюсь преобразовать эти данные для перерисовки в QPixmap.

QVector<QPointF> data;
QPixmap pixMap;

РЕДАКТИРОВАТЬ

Я сделал что-то вроде этого. Почему это не работает?

QPainter *painter = new QPainter(&pixMap);
for(int i = 1; i < data.last().x(); i++){
  painter->setPen(QPen(Qt::black, 2));
  painter->drawPolyline(this->data.data(), this->data.size());
}
  delete painter;
  setPixmap(pixMap);

person Shepherd    schedule 26.11.2014    source источник
comment
Вам нужно нарисовать точки на пиксельной карте?   -  person Martin Prazak    schedule 26.11.2014
comment
Да :) Извините за не совсем точное объяснение   -  person Shepherd    schedule 26.11.2014
comment
@Shepherd Ты взглянул на QPainter?   -  person RA.    schedule 26.11.2014
comment
Что такое this->data.data() и this->data.size(). Что такое data.last.x()?   -  person Dmitry Sazonov    schedule 26.11.2014
comment
У вас есть выше, что есть данные. Обычно функция data() получает все QPOINTF из вектора, и таким образом я могу перерисовать виджет. Но когда я сделал это на QPixMap, ничего не появилось.   -  person Shepherd    schedule 26.11.2014


Ответы (1)


Вы можете просто нарисовать растровое изображение, используя QPainter:

QPixmap pixmap(100,100);   // a pixmap of size 100x100 pixels
QPainter painter(&pixmap);

// iterate over your points and draw them using the painter

В документах QPainter есть множество примеров того, как рисовать с помощью QPainter, кистей , ручки...

person Martin Prazak    schedule 26.11.2014
comment
Извините, это не очень хороший вопрос - что не сработало? Как это не сработало? Что сказал компилятор? - person Martin Prazak; 26.11.2014
comment
Обратите внимание, что полное обновление состояния QPixmap не гарантируется до тех пор, пока объект QPainter не будет уничтожен. Самый простой способ гарантировать это — поместить QPainter (и вызываемые в нем команды рисования) внутри набора фигурных скобок с объявлением QPixmap вне этой области видимости и не пытаться использовать QPixmap для чего-либо до тех пор, пока не закончится область действия (т.е. после закрывающей фигурной скобки) - person Jeremy Friesner; 27.11.2014