web-dev-qa-db-fra.com

Comment insérer QChartView dans le formulaire avec Qt Designer?

Je veux ajouter QChart au formulaire. Mais je ne le trouve pas dans la Widget Box. Je l'ai donc créé dans le code. Comment puis-je l'insérer dans QWidget ou QFrame ou autre chose?

Je veux définir la zone de ce widget dans QtDesigner.

14
Ufx

Option 1: promu

Je suppose que vous entendez insérer un QChartView, car QChartView hérite de QGraphicsView, ce serait une bonne option, pour cela, nous faisons ce qui suit:

  1. ajoutez d'abord QT += charts dans le .pro
  2. placez le QGraphicsView sur la conception.
  3. Faites un clic droit sur QGraphicsView et sélectionnez Promote to...
  4. En faisant ce qui précède, un menu apparaît, dans le menu il doit être défini dans QChartView dans Promoted Class Name et QtCharts dans Header file, puis appuyez sur la touche add et enfin sur promote.

Captures d'écran de certaines étapes:

[3.]

enter image description here

[4.1]

enter image description here

[4.2]

enter image description here

La même chose pourrait être faite en utilisant QWidget comme base au lieu de QGraphicsView.

Pourquoi l'un ou l'autre widget est-il choisi comme base?

Il est choisi parce que Qt Designer via moc établit certaines propriétés par défaut, et si le widget n'a pas cette méthode, il ne sera pas compilé. comme tous les widgets héritent de QWidget, ce serait la base de tout nouveau widget pour le promouvoir dans Qt Designer.

Dans ce qui suit link vous trouverez un exemple.


Option 2: plugin QtChart

Une autre option serait de compiler le plugin QtChart pour QtDesigner, pour cela vous devez télécharger les 5 fichiers à partir de ce qui suit link :

enter image description here

Ensuite, vous exécutez ce qui suit:

qmake
make
Sudo make install

À la fin, vous pouvez accéder à QtCharts::QChartView dans Qt Designer

enter image description here

18
eyllanesc