сначала вы должны знали, какую-то информацию о QPainter, чтобы иметь выгоду от него.
QPainter предлагает высоко оптимизированные функции, необходимые для выполнения большинства графических программ GUI. Он может рисовать все от простых графических примитивов (представленных классами QPoint, QLine, QRect, QRegion и QPolygon) до сложных форм, таких как векторные пути. И мы используем его для рисования на устройствах рисования , а затем визуализируем его для просмотра, и у нас есть много устройств Qpaint, таких как: QWidget, QImage, QPixmap, QPicture, QPrinter и QOpenGLPaintDevice, вы можете использовать любой из них в зависимости от ваших требований, а затем создать сцену QGraphic и добавить ваше устройство для рисования в качестве объекта сцены qgraphic, который будет отображаться в qgraphic view.
здесь просто код:
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
}
Я создал виджет MyDisplayWidget. Но я разработал форму mainwindow.ui, используя средство перетаскивания с использованием Qt. Как включить этот новый виджет в этот gui? – nishant
Существует много способов кодирования, чтобы использовать пользовательские виджеты в дизайнерском приложении Qt. Если вы хотите использовать свой собственный виджет в своем главном окне, используйте приложение-конструктор, чтобы поместить виджет владельца места (или фрейм), а затем в код для вашего главного окна, создать экземпляр вашего пользовательского виджета и добавить его к владельцу места , –
@ nishant-4545: продвинутые виджеты - это быстрый способ выполнить задание. См. Http://doc.trolltech.com/4.6/designer-using-custom-widgets.html –