2017-04-13 3 views
0

Ich erstelle einfache Tetris in WT und ich erbte Widget, um Stück zu schaffen (ich legte vier Stücke im Spiel, vier verschiedene Klassen). Ich zeichne bei jedem Stück auf ein Paint Event. Wie man Widget dreht? Ich kann gedrehtes Bild in painEvent Funktion zeichnen, aber ich würde lieber ganze Widget drehen. Ist das in Qt zulässig?Drehen ganze qwidget von Winkel

Antwort

3

Sie können nicht einfach jedes Widget in Qt drehen. Aber Sie können Ihr Widget zu QGraphicsScene hinzufügen, es drehen und in QGraphicsView anzeigen. Hier ist ein kurzes Beispiel, wie es geht:

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

Alternativ Sie alle auf QML umschreiben kann. In QML können Sie fast alles rotieren.