按角度旋转整个qwidget

时间:2017-04-13 09:27:29

标签: qt

我正在用wt创建简单的俄罗斯方块,我继承了创建作品的小部件(我在游戏中放了四个部分,四个不同的类)。我在每件作品中画画。如何旋转小部件? 我可以在painEvent函数中绘制旋转图像,但我宁愿旋转整个小部件。这是qt中的可怜吗?

1 个答案:

答案 0 :(得分:3)

您无法在Qt中轻松旋转任何小部件。但是你可以将你的小部件添加到QGraphicsScene,旋转它并在QGraphicsView上显示。以下是如何执行此操作的简短示例:

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);

enter image description here

或者你可以在QML上重写所有内容。在QML中,你几乎可以旋转任何东西。