Russian Qt Forum
Ноябрь 25, 2024, 00:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSplashScreen  (Прочитано 3284 раз)
Marinad
Гость
« : Июнь 03, 2009, 12:07 »

Код:
#include <QtGui>
#include "mainwindow.h"
#include "finddialog.h"

void loadModules(QSplashScreen *psplash)
{
    QTime time;
    time.start();

    for(int i=0;i<100;i++)
    {
        if (time.elapsed()>40)
        {time.start();
            i++;
        }

        psplash->showMessage("Loading modules: "
                             +QString::number(i)+"%",
                             Qt::AlignHCenter | Qt::AlignBottom,
                             Qt::black
                             );
    }
}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSplashScreen splash(QPixmap("res/splash.jpg"));

    splash.show();

    QLabel lbl("<h1><center>MyApp<br>"
               "Is ready!</center></h1>");

    loadModules(&splash);
    splash.finish(&lbl);
    lbl.resize(250,250);
    lbl.show();

    MainWindow w;
    w.show();

    return a.exec();
}

Переписал код с книжки Макса Шелле Qt4 =)
Ожидается, что должна появится заставка с картинкой res/splash.jpg
а на деле перед запуском программы появляется окошко с лейблом.
Как отобразить картинку и закрыть её после запуска прораммы?
Записан
mugabe
Гость
« Ответ #1 : Июнь 03, 2009, 12:20 »

попробуй после showMessage делать QApplication::processEvents();
Записан
Marinad
Гость
« Ответ #2 : Июнь 03, 2009, 13:19 »

Никакого результата... =(
Записан
spectre71
Гость
« Ответ #3 : Июнь 04, 2009, 08:22 »

1) QSplashScreen splash(QPixmap("res/splash.jpg"));
Если не смог подгрузить "res/splash.jpg", то не откроется(с картинкой)!
2) loadModules(&splash);
Если слишком быстро, то ты не заметишь появление "res/splash.jpg".
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 20.