如何在自定义小部件中显示QChartView?

如何在自定义小部件中显示QChartView?

问题描述:

我有一个我已经分配给QChartView的QChart。在这个例子中我一直在下面的图表显示,在main.cpp中,如:如何在自定义小部件中显示QChartView?

window.setCentralWidget(chartView); 

在我的项目,我想利用设计师,因此创建了一个自定义的widget,但它不显示QChart。我发现,他们指派他们分配的视图布局,然后设置布局,作为这样一个例子:

mainLayout = new QGridLayout; 
mainLayout->addWidget(chartView, 0, 0); 
setLayout(mainLayout); 

但这似乎惹到窗口内的所有其他部件的布局。我如何让自定义小部件显示我的chartView?

谢谢!

我从QChartView(它继承了QWidget),而不是QWidget中所做的类继承,然后做:

setChart(myChart); 

感谢。

这就是我做到的。

在您的.h文件中:

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){  
ui->setupUi(this); 
ui->centralWidget = new QWidget(this); 
this->setCentralWidget(ui->centralWidget);  

chart = new QChart; 
chartView = new QChartView(chart); 
gridLayout = new QGridLayout(ui->centralWidget); 
gridLayout->addWidget(chartView,0,0); 

只要你愿意更改图表我这样做::

chart = new QChart; 
chartView = new QChartView(chart); 
gridLayout->addWidget(chartView,0,0); 

QGridLayout* gridLayot; 
QChart *chart; 
QChartView *chartView; 
在主构造你的.cpp文件