Iterazione tra QGraphicsVideoItem, QGraphicsScene, QGraphicsView
Unsolved
Italian
-
Buongiorno a tutti,
per la prima volta da quando "frequento" il mondo Qt, mi sto interfacciando con il mondo delle scene e delle viste. Ho letto un po' di teoria, e ora sto facendo qualche esperimento per chiarirmi meglio come utilizzare il tutto.
Ho creato questo semplice esempio:
int main(int argc, char *argv[]) { QApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true); QApplication a(argc, argv); QString url = "gst-pipeline: videotestsrc ! xvimagesink name=\"qtvideosink\""; QGraphicsVideoItem* item = new QGraphicsVideoItem; item->setSize(QSizeF(500, 480)); QMediaPlayer p; p.setVideoOutput(item); p.setMedia(QMediaContent()); //discard p.setMedia(QUrl(url)); p.play(); QGraphicsScene* scene = new QGraphicsScene; QGraphicsRectItem *rect = scene->addRect( 10,10, 50, 70, QPen(Qt::black), QBrush(Qt::red)); rect->setFlag(QGraphicsItem::ItemIsMovable); QGraphicsView view(scene); view.scene()->addItem(item); view.show(); return a.exec(); }
Quello che ottengo però non è proprio come immaginavo:
Come potete vedere dall'immagine qui sopra, ottengo due finestre, una contenente View e Scene, ed una seconda contenente il VideoItem.
Sapreste cortesemente dirmi che cosa/dove sto sbagliando?Versione Qt: 5.15.2, OS: Debian 12
Grazie mille a tutti