Пример #1
0
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();

}
Пример #2
0
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);

}