问题
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 += charts
in 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
QChartView
inPromoted Class Name
, andQtCharts
inHeader file
, then press theadd
button 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