/
definitly
/
volsndkodi
Обзор
Документация
Войти
/
definitly
/
volsndkodi
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
mainwindow.cpp
66 строк
2 KB
Your Name
новый файл: Makefile
27 сен 2025, 08:29
27 сен 2025, 08:29
8eb5029
Код
Авторство
О чём код?
#include "mainwindow.h" #include "ui_volsndkodi.h" #include <QDebug> #include <QProcess> #include <QtNetwork> #include <QJsonDocument> #include <QJsonValue> #include <QJsonArray> #include <QJsonObject> #include <QNetworkReply> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void postkodi(int value) { QNetworkAccessManager *mgr = new QNetworkAccessManager(); const QUrl url(QStringLiteral("http://192.168.8.45:8081/jsonrpc")); QNetworkRequest request(url); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); QJsonObject obj; obj["jsonrpc"] = "2.0"; obj["id"] = "1"; obj["method"] = "Application.SetVolume"; obj["params"] = QJsonObject({{"volume", value}}); QJsonDocument doc(obj); QByteArray data = doc.toJson(); // or // QByteArray data("{\"key1\":\"value1\",\"key2\":\"value2\"}"); //curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"Application.SetVolume","params":{"volume":80}}' http://192.168.8.45:8081/jsonrpc //QByteArray data("{\"jsonrpc\":\"2.0\",\"id\":\"1\",\"method\":\"Application.SetVolume\",\"params\":\{\"volume\": 50}}"); QNetworkReply *reply = mgr->post(request, data); QObject::connect(reply, &QNetworkReply::finished, [=](){ if(reply->error() == QNetworkReply::NoError){ QString contents = QString::fromUtf8(reply->readAll()); qDebug() << contents; } else{ QString err = reply->errorString(); qDebug() << err; } reply->deleteLater(); }); } void MainWindow::on_horizontalSlider_valueChanged(int value) { postkodi(value); qDebug() << "Значение горизонтального слайдера изменилось:" << value; }