如何在自定义小部件中显示 QChartView?
How do you display a QChartView in a Custom Widget?
我有一个已分配给 QChartView 的 QChart。在我一直关注的示例中,图表在 main.cpp 中显示为:
window.setCentralWidget(chartView);
在我的项目中,我想利用设计器并因此创建了一个自定义小部件,但它不显示 QChart。我找到了一个示例,他们分配了他们将视图分配给布局,然后设置布局,如下所示:
mainLayout = new QGridLayout;
mainLayout->addWidget(chartView, 0, 0);
setLayout(mainLayout);
但这似乎扰乱了 window 中所有其他小部件的布局。如何让自定义小部件显示我的图表视图?
谢谢!
我让 class 继承自 QChartView(它继承了 QWidget)而不是 QWidget,然后做了:
setChart(myChart);
谢谢。
我就是这样做的。
在您的 .h 文件中:
QGridLayout* gridLayot;
QChart *chart;
QChartView *chartView;
在主构造函数的 .cpp 文件中:
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);
我有一个已分配给 QChartView 的 QChart。在我一直关注的示例中,图表在 main.cpp 中显示为:
window.setCentralWidget(chartView);
在我的项目中,我想利用设计器并因此创建了一个自定义小部件,但它不显示 QChart。我找到了一个示例,他们分配了他们将视图分配给布局,然后设置布局,如下所示:
mainLayout = new QGridLayout;
mainLayout->addWidget(chartView, 0, 0);
setLayout(mainLayout);
但这似乎扰乱了 window 中所有其他小部件的布局。如何让自定义小部件显示我的图表视图?
谢谢!
我让 class 继承自 QChartView(它继承了 QWidget)而不是 QWidget,然后做了:
setChart(myChart);
谢谢。
我就是这样做的。
在您的 .h 文件中:
QGridLayout* gridLayot;
QChart *chart;
QChartView *chartView;
在主构造函数的 .cpp 文件中:
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);