【问题标题】:add chart in QTabWidget在 QTabWidget 中添加图表
【发布时间】:2018-05-15 15:15:56
【问题描述】:

我想读取数据形式的文本文件并在tabWidget (tab1) 中添加数字图表 但是在显示时,新的小部件已打开,我该如何解决这个问题?

void mainWindow::readfile(){

    QFile config(":/new/prefix1/3.txt");
    config.open(QIODevice::ReadOnly);
    if(config.isOpen()){
        QTextStream stream(&config);
        while (!stream.atEnd()){
         line = stream.readLine().split('\t');
        //qDebug()<<line;
        bool allOk(true);
        bool ok;
        for (int x = 0; x <= line.count()-1 && allOk; x++) {
        val.append(line.at(x).toInt(&ok));
        allOk &= ok;
            }
        }
}
    else
        qDebug()<<"not opened";
     ui->stackedWidget->setCurrentIndex(8);
     on_ecg_destroyed();
}

void mainWindow::on_ecg_destroyed()
{
    QLineSeries *series = new QLineSeries();
        for(int y=0;y<288;y++)
            series->append(y,val[y]);

    QChart *chart = new QChart();
    chart->legend()->hide();
    chart->addSeries(series);
    chart->createDefaultAxes();
    chart->setTitle("line chart");
     QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);
    setCentralWidget(chartView);
    resize(400, 300);
    show();
}

我使用QStackWidget 定义页面,在其中一个(页面)中,我使用QTabWidget 和四个选项卡,我想在选项卡1 中创建一个图表。 QTabWidget 位于QStackWidget 索引8, 阅读文件后,在tab1中显示第8页的图表。

【问题讨论】:

    标签: qt qtabwidget


    【解决方案1】:

    在您的代码中,您需要添加 chartview 以更正 QTabWidget 的 Tab,您可以创建一个布局,将 chartview 添加到创建的布局,然后将 tab1 布局设置为该新布局:

    QChart *chart = new QChart();
    chart->legend()->hide();
    chart->addSeries(series);
    chart->createDefaultAxes();
    chart->setTitle("line chart");
    QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);
    // create layout
    QGridLayout layout;
    layout.addWidget(chartView);
    this->ui->tab1->setLayout(&layout);
    // position view to chartview
    this->ui->stackedWidget->setCurrentIndex(8);
    this->ui->tabWidget->setCurrentIndex(this->ui->tabWidget->indexOf(this->ui->tab1));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多