Qt 按角度旋转整个qwidget

Qt 按角度旋转整个qwidget,qt,Qt,我在wt中创建了简单的俄罗斯方块,我继承了小部件来创建棋子(我在游戏中放置了四个棋子,四个不同的类)。我在每件作品中都画上了绘画事件。如何旋转小部件? 我可以在painEvent函数中绘制旋转的图像,但我更愿意旋转整个小部件。这在qt中容易吗?在qt中无法轻松旋转任何小部件。但您可以将小部件添加到QGraphicscene,旋转它并在QGraphicsView上显示。下面是一个简短的示例: QGraphicsScene *scene = new QGraphicsScene(this); QPu

我在wt中创建了简单的俄罗斯方块,我继承了小部件来创建棋子(我在游戏中放置了四个棋子,四个不同的类)。我在每件作品中都画上了绘画事件。如何旋转小部件?
我可以在painEvent函数中绘制旋转的图像,但我更愿意旋转整个小部件。这在qt中容易吗?

在qt中无法轻松旋转任何小部件。但您可以将小部件添加到QGraphicscene,旋转它并在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);


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

我仍然可以与小部件交互(悬停,单击)?@DanielBrunner,是的,您可以像往常一样继续与小部件交互。