2011-08-19 42 views

回答

5

當你說的圖表,我認爲這是某種形式的矢量圖形或類似的。我通常使用QPrinter將它們導出爲PDF,然後在我的文檔(LaTeX,Keynote,...)中使用它們。 這是一個可能有幫助的代碼片段。未經檢驗的,因爲我移植在我的頭上用Python回到C++:

QPrinter *printer = new QPrinter(); 
    printer->setOrientation(QPrinter::Landscape); 
    QPrintDialog *dialog = new QPrintDialog(printer); 
    dialog->setWindowTitle("Print Plots"); 
    if (dialog.exec() != QDialog::Accepted) 
    return; 
    QPainter *painter = new QPainter(); 
    painter->begin(printer); 
    ui->someQwtPlot->print(painter, printer->pageRect()); 
    painter->end(); 
    delete(dialog); 
    delete(painter); 
    delete(printer); 

我假設這裏要創建一個使用QwtPlot情節,但任何QWidget的或對象支持渲染到了QPainter會做。有關詳細信息,請參閱QWidget::render()。上面的代碼實際上允許您甚至打印到一臺真實的打印機。但我通常只是在打印機對話框中設置「打印到PDF」。如果您不需要打印機對話框,可以跳過它並使用QPrinter::setOutputFilename直接設置PDF文件名。