QGraphicsView zmagań ciąg dalszy :)

0

Witam

Pisałem już wcześniej na forum że tworzę prostą grę:)

http://4programmers.net/Forum/C_i_C++/189749-sygnal_i_sloty_qt?hl=sygna%C5%82y%20i%20sloty

Grę prawię ukończyłem ale wciąż mam parę pomniejszych problemów...

Chciałbym zrobić coś w stylu mini intra (obraz + dźwięk powitalny) użyłem do tego QSplashScreen i QSound, ale nie wiedziałem jak zatrzymać obraz przed włączeniem gry i użyłem funkcji Sleep z windows.h, całość działa dobrze ale raczej chciałbym uniknąć takich rozwiązań więc próbuję w inny sposób lecz pixmapa znika jak tylko scena gry jest gotowa a chciałbym ją zatrzymać przez 5sek na ekranie...

( wzorowałem się na przykładzie z google, muzykę chwilowo wyciąłem )
main.cpp

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));


    QPixmap pixmap("img/splash_title.png");
    QSplashScreen splash(pixmap);
    QTimer splashTimer;

    splashTimer.setSingleShot( true );

    splashTimer.setInterval( 5000 );

    QObject::connect( &splashTimer, SIGNAL( timeout() ), &splash, SLOT( close()) );
    splashTimer.start();
    splash.show();

    MainWindow w;
    w.show();

    return a.exec();
}

Druga sprawa to zamknięcie aplikacji, na koniec gry wyświetla się MessageBox i pyta czy zagrać jeszcze raz czy wyjść z aplikacji, próbowałem na parę sposobów i nic się nie dzieje niezależnie jaki kod wklepie

obecna wersja :

void MainWindow::close_app()
{
    view.close();
    MainWindow::close();
}

Pozdrawiam i życzę Wesołych Świąt:)

0

Ja zrobiłem w ten sposób splashscreena

QPixmap pixmap("images/splash.jpg");
    QSplashScreen splash(pixmap);
    splash.show();

    QTimer::singleShot(3000, &splash, SLOT(close()));
    QTimer::singleShot(3000, &w, SLOT(show())); 

Co do drugiego problemu to pokaż mi czy masz zrobiony sygnał/slot na buttonach w messageboxie

1 użytkowników online, w tym zalogowanych: 0, gości: 1