问题
I want to add QChart to the form. But I can't find it in the Widget Box. So I created it in the code. How can I insert it in QWidget or QFrame or something else?
I want to set area of that widget in QtDesigner.
回答1:
Option 1: Promoted
I suppose you mean inserting a QChartView, because QChartView inherits from QGraphicsView, this would be a good option, for this we do the following:
- first add
QT += chartsin the .pro - place the QGraphicsView to the design.
- Right click on the QGraphicsView and select
Promote to... - When doing the above, a menu appears, in the menu it should be set in
QChartViewinPromoted Class Name, andQtChartsinHeader file, then press theaddbutton and finally presspromote.
Screenshots of some steps:
[3.]
[4.1]
[4.2]
The same could be done using QWidget as a base instead of QGraphicsView.
Why is one or another widget chosen as a base?
It is chosen because Qt Designer through moc establishes certain properties by default, and if the widget does not have that method then it will not compile. as all widgets inherit from QWidget this would be the basis for any new widget to promote it in Qt Designer.
In the following link you will find an example.
Option 2: QtChart plugin
Another option would be to compile the QtChart plugin for QtDesigner, for it you must download the 5 files from the following link:
Then you execute the following:
qmake
make
sudo make install
At the end you can access QtCharts::QChartView in Qt Designer
来源:https://stackoverflow.com/questions/48362864/how-to-insert-qchartview-in-form-with-qt-designer