11 / 11 / 1
Регистрация: 06.12.2011
Сообщений: 170
1

Какой код спрячет изображение через две секунды

11.08.2014, 13:41. Показов 799. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется окно приложения. Необходимо, чтобы при запуске приложение высвечивалось изображение, и после 2 секунд исчезало.

Код я так понял должен быть примерно такой:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Image {
    //изображение заставка
    id: screensaver
    anchors.fill: parent
    source: "qrc:///image.jpg"
    //other properties
}
 
MainBlock {
    //основное тело приложение, содержащее элементы
    //properties
}
 
function loadScreen {
    //here need code
}
Два вопроса:
1. Где необходимо прописать loadScreen, чтобы он грузился сразу
2. И что вообще писать в теле функции, чтобы через 2 секунды изображение пропало

Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2014, 13:41
Ответы с готовыми решениями:

Как изменить фоновое изображение формы через какой-то промежуток времени?
Как изменить фоновое изображение формы в С# через какой то промежуток времени

Как поменять изображение на кнопке через код?
Здравия всем! Дело такое, создаётся кнопка так: <Button x:Name="button_window_state"...

Вывести изображение QPixmap через QPainter. Код не компилируется
Я хочу вывести изображение QPixmap через QPainter и нельзя передавать this в конструктор делаю...

Мигает 3 секунды изображение на мониторе и потом он гаснет?
Что с монитором? Он мигает 3 секунды и внутри что то трещит, а потом он гаснет и трещать...

3
1 / 1 / 1
Регистрация: 06.08.2014
Сообщений: 68
11.08.2014, 14:06 2
korsarqa, я думаю Вам нужно посмотреть QSplashScreen - экранные заставки. Саммерфилд стр 74

Добавлено через 18 минут
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QSplashScreen *splash = new QSplashScreen;
    splash->setPixmap(QPixmap(":/images/splash.png"));
    splash->show();
    Qt: Alignment topRight = Qt::AlignRight | Qt::AlignTop;
    splash->showMessage(QObject::tr("Setting up the main window..."),topRight. Qt::white);
    MainWindow mainWin;
    splash->showMessage(QObject::tr("Loading modules..."),topRight, Qt::white);
    loadModules();
    splash->showMessage(QObject::tr("Establishing..."topRight, Qt::white);
    establishConnections();        
    mainWin.show();
    splash->finish(&mainWin);
    delete splash;
    return app.exec();
}
0
11 / 11 / 1
Регистрация: 06.12.2011
Сообщений: 170
11.08.2014, 15:39  [ТС] 3
Цитата Сообщение от RussBear Посмотреть сообщение
korsarqa, я думаю Вам нужно посмотреть QSplashScreen - экранные заставки. Саммерфилд стр 74
Почитал об этом классе. Пытался сделать по примеру, но не выходит.

Вот код который получился
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
int main(int argc, char *argv[])
{
    QApplication  app(argc, argv);
    QSplashScreen splash(QPixmap("Images/news.jpg"));
    splash.show();
    app.processEvents();
    QQuickView view;
    view.setSource(QUrl(QStringLiteral("qrc:///main.qml")));
    view.setResizeMode(QQuickView::SizeRootObjectToView);
    view.show();
    splash.finish(&view);
    return app.exec();
}
Эта строка вызывает ошибки, без нее собирается нормально, но необходимого результата, как ожидаемо было, нет.
C++ (Qt)
1
splash.finish(&view);
Я так понял, данный класс работает только с QWidget

Пример из книги также рассматривал, там еще больше ошибок, прикопался к MainWindow, хотя я его объявлял
0
232 / 232 / 69
Регистрация: 30.09.2012
Сообщений: 545
11.08.2014, 21:39 4
korsarqa, Могу предложить заюзать синглШот. Например,
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <QApplication>
#include <QTimer>
#include <QLabel>
 
int main(int argc, char *argv[])
{
 
    //lb = new QLabel();
 
    QApplication a(argc, argv);
 
    QLabel lb;//создаем то, где будет картинка
    lb.setPixmap(QPixmap("G:/2/ttt.png"));//прикрутим картинку
    lb.show();//покажем
    QTimer::singleShot( 2000,&lb, SLOT(hide()) );//установим синглШот, через 2 секунда он спрячет картинку
//делаем что то там дальше
    MainWindow w;
    w.show();
 
    return a.exec();
}
0
11.08.2014, 21:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2014, 21:39
Помогаю со студенческими работами здесь

Почему целых две секунды выполняется программа?
#include &lt;iostream&gt; #include &lt;stdexcept&gt; #include &lt;vector&gt; #include &lt;string&gt; using namespace...

Как сделать паузу в программе на две секунды?
Как сделать паузу в программе на две секунды?

lg flatron w2242s индикация питания есть, изображение показывается на 1-2 секунды и исчезает
lg flatron w2242s индикация питания есть, изображение показывается на 1-2 секунды и исчезает

Меняем картинку через каждые 2 секунды через setInterval
Всем привет у меня есть 2 картинки я хочу чтобы они менялись каждые 2 секунды но функция...

Как сложить две временные отметки в виде дни часы: минуты: секунды
Здравствуйте! Подскажите пожалуйста, как сложить две временные отметки в виде дни часы: минуты:...

Вероятность того, что за две секунды на АТС поступит менее двух вызовов
Среднее число вызовов, поступающих на АТС в минуту, равно 120. Какова вероятность того, что за две...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru