сначала вы должны знать некоторую информацию о QPainter, чтобы воспользоваться ею.
QPainter предоставляет высоко оптимизированные функции для выполнения большинства программ графического интерфейса пользователя. Он может рисовать все от простых графических примитивов (представленных классами QPoint, QLine, QRect, QRegion и QPolygon) до сложных фигур, таких как векторные контуры. И мы используем его для рисования на устройствах рисования
затем визуализируем его для просмотра, и у нас есть множество устройств qpaint, таких как: QWidget, QImage, QPixmap, QPicture, QPrinter и QOpenGLPaintDevice. Вы можете использовать любое из них в зависимости от ваших требований, затем создать сцену QGraphic и добавить устройство рисования в качестве сцены qgraphic. элемент для отображения в графическом представлении.
вот простой код:
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
scene=new QGraphicsScene(this); //allocate your scene to your main widget
view=new QGraphicsView(scene,this);//here is your view
pixmap=new QPixmap(QSize(700,700));// paint device
view->resize(700,700);
}
Widget::~Widget()
{
delete ui;
}
void Widget::paintEvent(QPaintEvent *e)
{
painter=new QPainter;// create your painter
painter->begin(pixmap);//add painter to your paint device
painter->fillRect(0,0,300,300,Qt::red);//draw rect
painter->setPen(Qt::yellow);
painter->drawLine(0,0,700,700);//draw line
painter->end();
scene->addPixmap(*pixmap);// add your paint device to your scene
view->show();//then show your view
}