Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
АК
April 3, 2019, 8:40 a.m.

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

Всем добра. Подскажите пожалуйста следующий момент. Пишу программу на 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? Либо, если есть другое решение, поделитесь опытом.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
2
R
  • April 3, 2019, 9:30 a.m.
  • The answer was marked as a solution.

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

або

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

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

        }
2
АК

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

1

Comments

Only authorized users can post comments.
Please, Log in or Sign up
AA
April 17, 2019, 7:40 p.m.
Anton Ablin

Qt - Test 001. Signals and slots

  • Result:73points,
  • Rating points1
E
April 17, 2019, 6:16 p.m.
Evgeny

Qt - Test 001. Signals and slots

  • Result:100points,
  • Rating points10
E
April 17, 2019, 6:14 p.m.
Evgeny

Qt - Test 001. Signals and slots

  • Result:78points,
  • Rating points2
Last comments
U
April 18, 2019, 3:37 p.m.
Unreal_man

А как иконку в хедер задать?
u
April 18, 2019, 2:15 a.m.
uaa

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

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

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

Здравствуйте. А где описание функции signal1()?
Now discuss on the forum
R
April 19, 2019, 9:55 a.m.
RED_Spider

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

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

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

Как реализовать такое меню, что бы нажмаешь меню подменю и выбор позиции? Данные меню и подменю в базе SQL.
Join us in social networks

For registered users on the site there is a minimum amount of advertising