2017-04-13 2 views
0

저는 간단한 테트리스를 만들어서 조각을 만들기 위해 위젯을 상속 받았습니다 (저는 게임에서 네 조각을 넣었습니다, 네 가지 클래스). 모든 부분에 페인트 이벤트를 그립니다. 위젯을 회전하는 방법? painEvent 함수에서 회전 이미지를 그릴 수 있지만 전체 위젯을 회전시키고 싶습니다. 이것이 qt에서 삐걱 거리는가?전체 qwidget을 각으로 회전하십시오.

답변

3

Qt에서 위젯을 쉽게 돌릴 수 없습니다. 하지만 위젯을 QGraphicsScene에 추가하고 회전하여 QGraphicsView에 표시 할 수 있습니다.

enter image description here

QGraphicsScene *scene = new QGraphicsScene(this); 
QPushButton *button = new QPushButton(); 
button->setText("My cool button"); 

QGraphicsProxyWidget *w = scene->addWidget(button); 
w->setPos(50, 50); 
w->setRotation(45); 
ui->graphicsView->setScene(scene); 
은 또한 당신이 QML에 모두를 다시 작성할 수 있습니다 : 여기를 수행하는 방법 간단한 예입니다. QML에서는 거의 모든 것을 회전시킬 수 있습니다.

관련 문제