QT вставить виджет в другой виджет

Я создал пользовательский интерфейс с помощью Qt Creator, в этом пользовательском интерфейсе есть только кнопка и виджет (назовем его соответственно button и char_container);
Мне нужно добавить диаграмму в программном виде внутри chart_container.
Я не изменил макет по умолчанию.

Я пробовал следующий код, но он не работает:

void MainWindow::button_slot(){
QtCharts::QChart *chart = new QtCharts::QChart();
QtCharts::QChartView *chartView = new QtCharts::QChartView(chart);
chartView->setParent(ui->chart_container);
this.repaint();
}

0

Решение

Лучший способ добавить виджет в другой — использовать макет, как я покажу ниже:

//on constructor
ui->chart_container->setLayout(new QVBoxLayout);void MainWindow::button_slot()
{
QtCharts::QChart *chart = new QtCharts::QChart();
QtCharts::QChartView *chartView = new QtCharts::QChartView(chart, ui->chart_container);
ui->chart_container->layout()->addWidget(chartView);
}
5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]