c++ - Print data QTextDocument and QPainter -


how can print html data using qtextdocument?

my code, returns error:

qstring text_x = "hello world!";  qtextdocument *doc = new qtextdocument(this); doc->setundoredoenabled(false); doc->sethtml("<p><span style=\"color:#000000; font-weight:600\">"+text_x+"</span></p>"); doc->settextwidth(width()); doc->setusedesignmetrics(true); doc->setdefaulttextoption(qtextoption(qt::alignhcenter));  qpainter *p = new qpainter(this); p->setrenderhint(qpainter::antialiasing, true); p->begin(this); doc->drawcontents(p); p->end(); 

error:

qpainter::pen: painter not active qpainter::setpen: painter not active qpainter::pen: painter not active qpainter::setpen: painter not active qpainter::setpen: painter not active qpainter::setpen: painter not active qpainter::restore: unbalanced save/restore qpainter::end: painter not active, aborted

as wrote in comment: drawing on widget outside paintevent , problem.

here example code ask:

class mydocwidget : public qwidget {     q_object  public:     explicit mydocwidget(qwidget * parent = 0, qt::windowflags f = 0)          : qwidget(parent, f)     {         doc = new qtextdocument(this);         doc->setundoredoenabled(false);     }  public slots:     void sethtml(const qstring &html) {          doc->sethtml(html);          update();     }  protected:     void paintevent(qpaintevent * event) {          qpainter p(this);          p.setrenderhint(qpainter::antialiasing, true);          doc->drawcontents(&p);     }      void resizeevent(qresizeevent * event) {          qwidget::resizeevent(event);          doc->settextwidth(width());          update();     }  private:     qtextdocument *doc; } 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -