仿照書上的案例寫東西,但是書上用的是MainWindow,我需要QWidget。
可是MainWindow里可以setCentralWidget。但是QWidget里面沒有找到類似的函式。
書上的代碼(節選):
QChartView *chartView=new QChartView(this); //創建 ChartView
QChart *chart = new QChart(); //創建 Chart
chartView->setChart(chart); //Chart添加到ChartView
this->setCentralWidget(chartView);//QWidget里面沒有找到類似的函式。
導致我的QChartView縮在左上角,嚴重顯示不全。

書上的代碼的效果:
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
撈一下

uj5u.com熱心網友回復:
Qt檔案寫到:setCentralWidget
將給定的小部件設定為主視窗的中心小部件。注意:QMainWindow獲取小部件指標的所有權,并在適當的時候洗掉它。
QWidget要么在sizechange時 對chartview resize,要么QHBoxLayout *hb = new QHBoxLayout(this);
hb->addWidget(chartView);
uj5u.com熱心網友回復:
chartView->resize(width,height);uj5u.com熱心網友回復:
chartView設定sizepolicyuj5u.com熱心網友回復:
獲得ChartView的尺寸,并設定為chart尺寸:// 調整尺寸
int w = this->width();
int h = this->height();
this->chart()->setGeometry(0, 0, w, h);
uj5u.com熱心網友回復:
顯示不全的原因是因為你用代碼new出來的QChartView沒有在界面中進行柵格化。可用考慮先在界面拖出來一個Widget,然后將其柵格化,再將它提升為QChartView,然后呼叫它的setChart函式,把你創造的QChart放進去,應該可以解決這個問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/47296.html
標籤:Qt
