MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); scene=new QGraphicsScene(this); med=new Phonon::MediaObject(this); med->setCurrentSource(Phonon::MediaSource(":/audio/Track1.mp3")); aout=new Phonon::AudioOutput(Phonon::MusicCategory,this); ui->graphicsView->setScene(scene); ui->graphicsView->setRenderHint(QPainter::Antialiasing); scene->setSceneRect(-100,-100,400,400); QPen mypen=QPen(Qt::black); QLineF TopLine(scene->sceneRect().topLeft(),scene->sceneRect().topRight()); QLineF LeftLine(scene->sceneRect().topLeft(),scene->sceneRect().bottomLeft()); QLineF RightLine(scene->sceneRect().topRight(),scene->sceneRect().bottomRight()); QLineF BottomLine(scene->sceneRect().bottomLeft(),scene->sceneRect().bottomRight()); scene->addLine(TopLine,mypen); scene->addLine(LeftLine,mypen); scene->addLine(RightLine,mypen); scene->addLine(BottomLine,mypen); Phonon::createPath(med,aout); int itemcount=20; for(int i=0;i<itemcount;i++) { Box *b=new Box(); scene->addItem(b);; } timer=new QTimer(this); connect(timer,SIGNAL(timeout()),scene,SLOT(advance())); connect(med,SIGNAL(aboutToFinish()),this,SLOT(loop())); med->play(); }
Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); scene = new QGraphicsScene(this); ui->graphicsView->setScene(scene); ui->graphicsView->setRenderHint(QPainter::Antialiasing); scene->setSceneRect(-200, -200, 300, 300); QPen myPen = QPen(Qt::red); QLineF TopLine( scene->sceneRect().topLeft(), scene->sceneRect().topRight() ); QLineF LeftLine( scene->sceneRect().topLeft(), scene->sceneRect().bottomLeft() ); QLineF RightLine( scene->sceneRect().topRight(), scene->sceneRect().bottomRight() ); QLineF BottomLine( scene->sceneRect().bottomLeft(), scene->sceneRect().bottomRight() ); scene->addLine(TopLine, myPen); scene->addLine(LeftLine, myPen); scene->addLine(RightLine, myPen); scene->addLine(BottomLine, myPen); int itemCount = 25; for (int var = 0; var < itemCount; ++var) { MyItem *item = new MyItem(); scene->addItem(item); } timer = new QTimer(this); connect(timer, SIGNAL(timeout()), scene, SLOT(advance())); timer->start(100); }