Cours:DiyWidgetQT
Révision datée du 2 octobre 2024 à 08:59 par Bjacquot (discussion | contributions)
Pour créer votre propre Widget, il convient de spécialiser la classe QWidget :
class MonWidget : public QWidget
{
Q_OBJECT
public:
MonWidget(QWidget *parent = nullptr);
signals:
};
Il suffit ensuite de redéfinir la méthode paintEvent
qui est bien entendue déclarée comme virtual dans la classe QWidget !
protected:
void paintEvent(QPaintEvent *event) override;
Cette méthode ne sera pas appelée directement. On utilisera au besoin les méthodes update ou repaint au besoin !
On utilisera la classe QPainter pour faire le dessin du widget, ex :
void MonWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.drawRect(width()/4,height()/4,
width()/2,height()/2);
}
On pourra ensuite ajouter un objet de ce type dans l'interface graphique par exemple en faisant une promotion comme vu dans une autre séance