Ответы пользователя по тегу QML
  • Как сделать красиво загрузку?

    @developerxyz
    Это окошко реализуется в Qt с помощью класса QSplashScreen
    Создаем QSplashScreen с QPixmap для заднего фона
    QSplashScreen splashScreen(/*const QPixmap& pixmap*/ QPixmap("/путь/до/вашей/картинки.png"));

    Далее показываем это окошко
    splashScreen.show(); //возвращает void
    И выставляем текст (это просто показывает текст, можно использовать между QSplashScreen::show(); и QSplashScreen::finish();
    splashScreen.showMessage(
        /*const QString &message*/ "Сообщение",
        /*int alignment = Qt::AlignLeft*/ Положение текста,
        /*const QColor &color = Qt::black*/ Цвет QColor);

    Положение текста - битовая комбинация вертикального и горизонтального выравнивания
    Qt::Alignment
    Горизонтальное выравнивание
    КонстантаЗначениеОписание
    Qt::AlignLeft0x0001Выравнивание по левому краю
    Qt::AlignRight0x0002Выравнивание по правому
    краю
    Qt::AlignHCenter0x0004Выравнивание по центру
    (горизонтально)

    Вертикальное выравнивание
    КонстантаЗначениеОписание
    Qt::AlignTop0x0020Выравнивание по верху
    Qt::AlignBottom0x0040Выравнивание по низу
    Qt::AlignVCenter0x0080Выравнивание по центру
    (вертикально)
    Немного больше флагов (англ.)
    Можно использовать не более одного ключа из одной группы.
    Пример: Qt::AlighVCenter | Qt::AlignHCenter - по абсолютному центру окна

    Для завершения QSplashScreen надо вызвать функцию finish:
    splashScreen.finish(/*QWidget * mainWin*/ this); //this если ваш класс наследуется от QWidget

    Эта функция будет ждать показа окна mainWin и только после этого QSplashScreen закроется.

    Это самые простые функции. Если надо "что-то посложнее", то берем и создаем свой SplashScreen и отрисовываем сами (так же, как и в QWidget-е)
    Надеюсь, что мой ответ Вам помог.
    Ответ написан
    Комментировать