KL
March 1, 2017, 2:22 a.m.

Связь сайта с Qt

Как мне отследить нажатие кнопки на сайте? Форма на сайте будет отсылать данные в БД и давать сигнал серверу на скачивание данных с Бд. После чего, сервер вернет данные в бд. Как мне получить сигнал нажатия кнопки сайта?

2

Do you like it? Share on social networks!

5
Evgenii Legotckoi
  • March 1, 2017, 9:57 a.m.

Тут два варианта. Либо через бекенд сайта взаимодействовать, либо через AJAX запросы.
На чём сайт написан? Какой язык и какой фреймворк?

Если через бекенд, то при получении определённого URL обращаться к программе на Qt, чтобы она выполняла запрос и отдавала результат и возвращать уже готовую страницу.

Если через AJAX , то смысл тот же самый, только со страницы напрямую нужно обращаться к программе на Qt. Здесь можно воспользоваться jQuery , чтобы отправлять AJAX запросы.

В обоих случаях у программы на Qt должен работать QTcpServer . Как вариант можно использовать запуск программы сервером сайта и забирать вывод Qt программы. Но API на QTcpServer мне кажется более правильным подходом.

    KL
    • March 2, 2017, 2:13 a.m.

    Сайт написан на html и php. Связку клиент сервер, на qt я делал, а вот как связать php и Qt для меня загадка.

      KL
      • March 2, 2017, 2:53 a.m.

      Мне нужно понять что прописать в QT приложении, а что на сайте. Нашел GET и POST, но как их принять?

        Evgenii Legotckoi
        • March 2, 2017, 7:58 p.m.
        • The answer was marked as a solution.

        Есть такая штука QtWebApp называется. Вот она позволяет сделать весьма удобный http-сервер на Qt, насколько это возможно в плане удобства... тот же Django, конечно, удобнее, но вопрос не в этом же.

        Если для сайта юзаете nginx, то необходимые запросы к url можно будет адресовать непосредственно в Qt софтину, которая будет выполнять свою работу. Также QtWebApp поддерживает и AJAX запросы, так что вполне работоспособный вариант должен получиться. На Хабре есть статья по первоначальному запуску QtWebApp . Статья та моя, но это для предыдущего работодателя была работа, поэтому авторства моего там не поставлено, но будут вопросы, уточняйте. Что вспомню, то подскажу.

        То есть можно будет использовать AJAX запросы к сайту, которые будут направляться непосредственно в Qt софтину, вместо PHP части, PHP в данном случае может вообще использоваться только для того, чтобы отобразить страничку, не более.

          KL
          • March 2, 2017, 8:02 p.m.

          Спасибо. Буду смотреть дальше. Данный класс откроет массу возможностей)

            Comments

            Only authorized users can post comments.
            Please, Log in or Sign up
            • Last comments
            • AK
              April 1, 2025, 11:41 a.m.
              Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
            • Evgenii Legotckoi
              March 9, 2025, 9:02 p.m.
              К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
            • VP
              March 9, 2025, 4:14 p.m.
              Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
            • ИМ
              Nov. 22, 2024, 9:51 p.m.
              Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
            • Evgenii Legotckoi
              Oct. 31, 2024, 11:37 p.m.
              Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup