何らかの種類のHTTPライブラリが必要です。私はエイドリアンが言ったことの2番目に多くの、しかしここにいくつかの(不完全な)あなたにアイデアを与えるべきQtコードです。
namespace {
const QString API_KEY = /* TODO */;
}
MyQObject :: MyQbject()
: m_manager (new QNetworkAccessManager (this))
{
connect(manager, SIGNAL (finished (QNetworkReply *)),
this, SLOT (reply_finished (QNetworkReply *)));
}
void MyQObject :: fetch_translation (
QString words,
void (*on_receive)(const QString &))
{
// Let's assume asynchronous but non-concurrent requests.
m_on_receive = on_receive;
QString request =
"https://www.googleapis.com/language/translate/v2"
"?key=%1&source=en&target=de&q=%2";
// May want to url-encode 'words' first.
m_manager -> get (QUrl (request .arg (API_KEY) .arg (words));
}
void MyQObject :: reply_finished (QNetworkReply * reply)
{
m_on_receive (reply -> readAll());
}
// ...
{
my_q_object -> translate ("hello, world", [](const QString & s) {
qWarning() << "translation is: " << s;
});
}
こんにちはエイドリアンを:あなたは、GoogleのAPIを呼び出すC++のコードを発揮することにより、よりを説明できます。 – yara
私はQ ++をC++で使用していますので、純粋なC++ではありません。 C++には、HTTP GETリクエストをGoogle APIに送信するために使用できるソケットやブラウザが必要です。私はそのためのコードはなく、Qt C++のためだけです。 – Adrian
@yara最初にする必要があるのは、APIにサインアップすることです.Googleからキーが届きます。このキーを使用して、リクエストをGoogleサーバーに送信します。基本的には、C++からHTTPリクエストを行います。その中で、データを次のように設定します:https://www.googleapis.com/language/translate/v2/detect?キー= INSERT-YOUR-KEY&q = words + to + translate – Adrian