2016-08-24 72 views
0

我有一個我已經分配給QChartView的QChart。在這個例子中我一直在下面的圖表顯示,在main.cpp中,如:如何在自定義小部件中顯示QChartView?

window.setCentralWidget(chartView); 

在我的項目,我想利用設計師,因此創建了一個自定義的widget,但它不顯示QChart。我發現,他們指派他們分配的視圖佈局,然後設置佈局,作爲這樣一個例子:

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

但這似乎惹到窗口內的所有其他部件的佈局。我如何讓自定義小部件顯示我的chartView?

謝謝!

回答

2

我從QChartView(它繼承了QWidget),而不是QWidget中所做的類繼承,然後做:

setChart(myChart); 

感謝。

3

這就是我做到的。

在您的.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文件

相關問題