В настоящее время у меня есть QGraphicsScene
, который помещается внутри QGraphicsView
и отображается на дисплее. Я добавляю все свои элементы в свой scene
, который я установил как активную сцену.QT Показать QWidget выше QGraphicsScene
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsView w;
GameScene *gameScene = new GameScene(); // GameScene extends QGraphicsScene, adds tons of elements to the scene
w.setScene(gameScene);
w.show();
return a.exec();
}
Над этой сценой я хочу бар, который содержит несколько элементов макета, как несколько QProgressBar
.
Для того, что я нашел до сих пор, QWidget можно легко разместить. Я сделал уже виджет, что мне нужно будет отображаться над сценой:
QWidget *dummyWidget = new QWidget();
QFormLayout *formLayout = new QFormLayout;
QProgressBar *bar1 = new QProgressBar();
QProgressBar *bar2 = new QProgressBar();
bar1->setValue(20);
bar2->setValue(100);
formLayout->addRow("&Health:", bar1);
formLayout->addRow("&Energy:", bar2);
dummyWidget->setLayout(formLayout);
dummyWidget->show();
Но как я могу получить это будет отображаться над моей QGraphicsScene
?
Хорошо работает, но есть ли способ показать его выше всей сцены, или, вернее, отобразить сцену под виджетами и расширить виджет на ширину экрана? На сцене у меня есть позиции по всей сцене, и с помощью этого метода мне пришлось бы компенсировать их высотой виджета. – jdepypere
Вы хотите отобразить свой виджет внутри сцены или просто хотите, чтобы он находился над видом и вне его? – Nejat
Он не должен отображаться внутри сцены, я хочу, чтобы он отображался над моей сценой. – jdepypere