Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
АК
3 апреля 2019 г. 8:40

Открытие и закрытие модального окна.

Всем добра. Подскажите пожалуйста следующий момент. Пишу программу на qml, при нажатии на кнопку происходит открытие popup окна.

MouseArea{
                    anchors.fill: parent
                    onClicked: {
                        popup.open();
                        netClient.getAll();
                    }
                }

после этого идёт выполнение функции,

void NetGet::getAll(){
    QEventLoop * loop = new  QEventLoop(this);
    QUrl url("...");
    QNetworkRequest parm(url);
    QString concatenated = "...";
    QByteArray data = concatenated.toLocal8Bit().toBase64();
    QString headerData = "Basic " + data;
    parm.setRawHeader("Authorization", headerData.toLocal8Bit());
    this->get(parm);
   loop->exec();
}

которая должна заблокировать работу приложения до получения ответа с сервера. В принципе loop справляется. Но после завершения обработки, как теперь закрыть окно popup? Либо, если есть другое решение, поделитесь опытом.

Виртуальный хостинг со скидкой 10 процентов
Виртуальный хостинг со скидкой 10 процентов
EVILEG предлагает надёжный хостинг со скидкой 10% на виртуальный хостинг и 5% на VPS
2
R
  • 3 апреля 2019 г. 9:30
  • Ответ был помечен как решение.

Добрий день, перше що приходить в голову це пропертя Q_PROPERTY(bool visibleForm READ visibleForm WRITE setVisibleForm NOTIFY visibleFormChanged)

або

в C++ класі сигнал сloseChanged викликаєте після loop->exec();

        Connections {
            target: netClient
            onCloseChanged: popup.closed()

        }
2
АК

Отлично работает вариант с передачей сигнала. Немного знаний в голову. Спасибо огромное. :)

1

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
AA
17 апреля 2019 г. 19:40
Anton Ablin

Qt - Тест 001. Сигналы и слоты

  • Результат:73баллов,
  • Очки рейтинга1
E
17 апреля 2019 г. 18:16
Evgeny

Qt - Тест 001. Сигналы и слоты

  • Результат:100баллов,
  • Очки рейтинга10
E
17 апреля 2019 г. 18:14
Evgeny

Qt - Тест 001. Сигналы и слоты

  • Результат:78баллов,
  • Очки рейтинга2
Последние комментарии
U
18 апреля 2019 г. 15:37
Unreal_man

А как иконку в хедер задать?
u
18 апреля 2019 г. 2:15
uaa

доброго времени,большое спасибо за пример для начинающего)при адаптации к своему проекту столкнулся с таким ньансом:в vepolyline.h в 47 строке нужна инициализация по умолчанию: int m_pointF...
E
11 апреля 2019 г. 12:49
Evgeny

Спасибо за ответ) У меня компоновщик на нее ругался просто. Оказалось, просто забыл Q_OBJECT в начале класса указать.
11 апреля 2019 г. 12:29
Евгений Легоцкой

Добрый день. Вы имели ввиду реализацию? Для сигналов в Qt реализация не пишется, это всё генерируется в moc файлах под капотом Qt.
E
11 апреля 2019 г. 12:15
Evgeny

Здравствуйте. А где описание функции signal1()?
Сейчас обсуждают на форуме
R
19 апреля 2019 г. 9:55
RED_Spider

мені важко це зараз навіть перевірити, тому що знайшов коміт, це ще було в 2016 році, і цей код не буде працювати коректно зараз, єдине скажу що це були QThread
i
17 апреля 2019 г. 15:03
ilya.guzikov

BlinCT, на стороне ++ это делать необходимо так как в qml при использовании функции append происходит перерисовка всех точек лини(как я понимаю) и из-за этого при использовании больших массиво...
10 апреля 2019 г. 11:20
Алексей Внуков

может тоже кому надо будет - QML не принимает QVector<QVector<int>> , при попытке вывести полученый вектор QML показывает что это QVariant(QVector<QVector<int> ...
SN
10 апреля 2019 г. 9:36
Stanislav Nykytiuk

Как реализовать такое меню, что бы нажмаешь меню подменю и выбор позиции? Данные меню и подменю в базе SQL.
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы