Vous devez d'abord connaissait quelques informations sur QPainter pour avoir des avantages de celui-ci. QPainter fournit des fonctions hautement optimisées dont la plupart des programmes GUI de dessin ont besoin. Il peut tout dessiner à partir de simples primitives graphiques (représentées par les classes QPoint, QLine, QRect, QRegion et QPolygon) à des formes complexes comme des chemins vectoriels .et nous l'utilisons pour dessiner sur des dispositifs de peinture puis le rendre visible, et nous avons beaucoup des périphériques qpaint tels que: QWidget, QImage, QPixmap, QPicture, QPrinter et QOpenGLPaintDevice vous pouvez utiliser n'importe lequel d'entre eux en fonction de vos besoins, puis créer une scène QGraphic et ajouter votre périphérique de peinture comme élément de scène qgraphic à afficher en vue qgraphic.
ici est simple code:
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
}
J'ai créé un MyDisplayWidget widget. Mais j'ai conçu un formulaire mainwindow.ui en utilisant la fonction drag-n-drop de Qt. Comment puis-je inclure ce nouveau widget dans ce GUI? – nishant
Il y a beaucoup de codage à faire pour pouvoir utiliser des widgets personnalisés dans l'application de conception de Qt. Si vous voulez utiliser votre widget personnalisé dans votre mainwindow, utilisez l'application du concepteur pour placer un widget (ou un cadre) de support, puis dans le code de votre fenêtre principale, créez une instance de votre widget personnalisé et ajoutez-la à l'espace réservé . –
@ nishant-4545: Les widgets sponsorisés sont un moyen rapide de faire le travail. Voir http://doc.trolltech.com/4.6/designer-using-custom-widgets.html –