hi Everybody .
I am using Qt 4.2 , on Mac OS
Please execute this code on Mac OS.
After button click setMask called .
when i want to do repainting ,
painting in side the widget is moving .
sample.cpp
Code:
{ bRgnSet=false; quit->setGeometry(75,75,30,30); setGeometry(0, 0, 400, 400); connect(quit, SIGNAL(clicked()), this, SLOT(ButtonPressed())); } { painter.setPen(Qt::blue); painter.drawRect(100,100,200,200); painter.drawEllipse(150,150,100,100); if(bRgnSet) { painter.translate(50,50); } if(bRgnSet) { painter.drawEllipse(300,300,50,50); painter.drawLine(0,0,400,400); } } void myWidget::ButtonPressed() { //QRegion widgetRgn(54,39,200,200,QRegion::Ellipse); bRgnSet = true; QPolygon rlPolygon; rlPolygon.setPoints(5, m_ptArr1[0].x(), m_ptArr1[0].y(), m_ptArr1[1].x(), m_ptArr1[1].y(), m_ptArr1[2].x(), m_ptArr1[2].y(), m_ptArr1[3].x(), m_ptArr1[3].y(), m_ptArr1[4].x(), m_ptArr1[4].y(), m_ptArr1[5].x(), m_ptArr1[5].y()); setMask( rlPolygon ); //setMask( widgetRgn ); } int main(int argc, char *argv[]) { myWidget widget; widget.show(); return app.exec(); }
sample.h
Code:
{ Q_OBJECT public: bool bRgnSet; public slots: void ButtonPressed(); };
Add appropriate header files to sample .cpp & sample.h
Implement repaint after clicking the button .
Any body knows the reason pls revert me back .
Thankyou
Shyam Boga