<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Error rendering with Qpainter]]></title><description><![CDATA[<p dir="auto">the program generates a pdf, in this pdf there is a  QTextBrowser table and three graphs that are rendered using qPainter.</p>
<p dir="auto">@    int index=ui-&gt;m_tableWidgetLogger-&gt;currentRow();<br />
if(index&lt;0)<br />
return;</p>
<pre><code>QPrinter *printer = new QPrinter(QPrinter::HighResolution);

printer-&gt;setPaperSize(QPrinter::A4);
printer-&gt;setOutputFormat(QPrinter::PdfFormat);
printer-&gt;setOrientation(QPrinter::Portrait);
printer-&gt;setFullPage(true);
printer-&gt;setOutputFileName(fileName);
QPainter p;
</code></pre>
<p dir="auto">//    p-&gt;begin(printer);</p>
<pre><code>    // Print Summary

       QTableWidget *summaryTab=new QTableWidget();
       m_mainApp-&gt;m_table-&gt;SetTableWidget(summaryTab);
       summaryTab-&gt;setGeometry(0,0,printer-&gt;pageRect().width(),printer-&gt;pageRect().height());
       summaryTab-&gt;setAutoScroll(true);
       m_mainApp-&gt;m_table-&gt;InitTableSummary(summaryTab);
       m_mainApp-&gt;m_table-&gt;FillTableSummary(summaryTab,index);
       summaryTab-&gt;setAlternatingRowColors(true);
       summaryTab-&gt;setFrameShape(QFrame::NoFrame);
       QTextBrowser *editor= new QTextBrowser;
       QTableWidget2QTextBrowser(summaryTab,editor);
       editor-&gt;print(printer);
</code></pre>
<p dir="auto">//    QPainter painter;<br />
//    painter.begin(printer);<br />
//    painter.renderHints(QPainter::Antialiasing);<br />
//    painter.renderHints(QPainter::RenderHint);</p>
<pre><code>if(m_mainApp-&gt;mLoggerList[index].recCurrentAddress)
{

      // Print Graph
    p.begin(printer);
</code></pre>
<p dir="auto">//        QWidget render;<br />
//        render.paintingActive();<br />
QwtPlotRenderer renderer;<br />
renderer.setDiscardFlag(QwtPlotRenderer::DiscardBackground,false);<br />
renderer.setLayoutFlag(QwtPlotRenderer::KeepFrames,true);<br />
renderer.render(m_plot,&amp;p,QRect(0,printer-&gt;height()/2,printer-&gt;width(),printer-&gt;height()/2.2));<br />
printer-&gt;newPage();</p>
<pre><code>    // Print Histogram
    renderer.setDiscardFlag(QwtPlotRenderer::DiscardBackground,false);
    renderer.setLayoutFlag(QwtPlotRenderer::KeepFrames,true);
    renderer.render(m_histogram,&amp;p,QRect(0,0,printer-&gt;width(),printer-&gt;height()/2.2));
    renderer.render(m_histogram,&amp;p,QRect(0,printer-&gt;height()/2,printer-&gt;width(),printer-&gt;height()/2.2));
    // Print Table

    QTableWidget *table=new QTableWidget();
    m_mainApp-&gt;m_table-&gt;SetTableWidget(table);
    table-&gt;setGeometry(0,0,printer-&gt;pageRect().width(),printer-&gt;pageRect().height());
    table-&gt;setAutoScroll(false);
    m_mainApp-&gt;m_table-&gt;InitTablePrint(index,printer-&gt;pageRect().width());
    int nbPage=m_mainApp-&gt;m_table-&gt;GetNbPrintPage(index,printer-&gt;pageRect().height());


        for(int page=0;page&lt;nbPage;page++)
           {

        m_mainApp-&gt;m_table-&gt;currentIndex=-1;
        m_mainApp-&gt;m_table-&gt;InitTablePrint(index,printer-&gt;pageRect().width());
        m_mainApp-&gt;m_table-&gt;FillTablePrint(index,printer-&gt;pageRect().height(),page);
        table-&gt;render(&amp;p,QPoint(0,0),QRegion(0,0,printer-&gt;pageRect().width(),printer-&gt;pageRect().height(),QRegion::Rectangle),QWidget::DrawChildren);
       // table-&gt;widget-&gt;render(&amp;painter,QPoint(0,0),QRegion(0,0,printer-&gt;pageRect().width(),printer-&gt;pageRect().height(),QRegion::Rectangle),QWidget::DrawChildren);

           }
        p.end();
    }@
</code></pre>
<p dir="auto">the issue is i get the render and the table disappears or the render disappears and table is shown. anyone have any ideas.</p>
]]></description><link>https://forum.qt.io/topic/21445/error-rendering-with-qpainter</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 11:10:02 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/21445.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 15 Nov 2012 17:46:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Error rendering with Qpainter on Thu, 29 Nov 2012 01:33:55 GMT]]></title><description><![CDATA[<p dir="auto"><a href="http://qt-project.org/doc/qt-4.8/qpainter.html#save" target="_blank" rel="noopener noreferrer nofollow ugc">http://qt-project.org/doc/qt-4.8/qpainter.html#save</a> and <a href="http://qt-project.org/doc/qt-4.8/qpainter.html#restore" target="_blank" rel="noopener noreferrer nofollow ugc">http://qt-project.org/doc/qt-4.8/qpainter.html#restore</a></p>
]]></description><link>https://forum.qt.io/post/158202</link><guid isPermaLink="true">https://forum.qt.io/post/158202</guid><dc:creator><![CDATA[_compiler]]></dc:creator><pubDate>Thu, 29 Nov 2012 01:33:55 GMT</pubDate></item></channel></rss>