I understand; updateGL(9 doesn't call paint event; update() insted, yes!
I change this below and now rect is visible (but flickering);
Qt Code:
  1. void myMainForm::myUpdateWidgets() {
  2. if (this->MultipleView->isShown()){
  3. myWidget2->update();
  4. myWidget3->update();
  5. ..........................................
  6. }
To copy to clipboard, switch view to plain text mode 
But now arise another problem: the update of widget2 is not fuid! I know updateGL() calls paintGL immediately; update() schedule the call to paintGL() for when widgetGL need an update; I suspect that in my multipleView (I can see wid2 and wid3) widget3 is the last drawn; and paintGL() for widget2 starts later than necessay. Can be the truth?
How can avoid this? Thanks