qt - Render widgets to different positions on paintdevice -


with qt want print multiple widgets onto single dina4-page. have 3 widgets want place directly next each other:

------- |   | ------- |  b  | ------- |  c  | ------- 

as render them in code below, 3 widgets rendered above each other @ postion of c (or , b not rendered @ all, don't see it). intended move each widget little bit down size of last widget, render directly next last one. seems not work:

int lastwidgetheight; lastwidgetheight= 0;  (int = 0; < this->widgets.size(); i++){     wid* e = widgets.at(i);     qwidget *printbox = e->printarea();      // define float scalex , scaley [...]      qpainter painter;     painter.begin(printer);     painter.scale(scalex,scaley);      // render , translate in y-direction:     printbox->render(&painter, qpoint(0,lastwidgetheight));  // <-- idea      painter.end();      lastwidgetheight+= e->height(); } 

if 3 widgets rendered, how loop affect position of , b, since create new qpainter-object each time?

you can set 3 elements in layout

 qvvoxlayout *vertical_layout;  this->getlayout()->addlayout(this->vertical_layout);  vertical_layout->additem(elementa);  vertical_layout->additem(elementb);  vertical_layout->additem(elementc); 

and can set distance between them with:

 vertical_layout- >setcontentsmargins(left,top,right,bottom); 

with in place.


Comments

Popular posts from this blog

searchKeyword not working in AngularJS filter -

sequelize.js - Sequelize: sort by enum cases -

user interface - how to replace an ongoing process of image capture from another process call over the same ImageLabel in python's GUI TKinter -