珍しく続いておりますが、割と暇で仕事中にやってるからと言うのは秘密です
やること
QtからTwitter関連の処理をする方法 - Twitter4QML
知る限り一番の近道は@task_jpさんのTwitter4QMLを使うことだと思われます
はりきらないひと: 【一夜漬け】Twitter4QMLを使ってみようか。
艦メモのビルド方法(Windows編) - 理ろぐ
使ってみようとpriをプロジェクトに追加してブログ記事とコードをにらめっこしておりましたが実力不足でついていけないのでTwitterにポストするだけの低機能クラスを作ることにしました。
QtからTwitter関連の処理をする方法 - オーソドックスな方法
3-legged authorization | Twitter Developers
Twitter APIの使い方まとめ
取り敢えずHTTPのPOSTメッセージが出せればなんとなくやった気になれるのかな・・・?
QtWebEngine
Webページをアプリ内で表示
取り敢えずブラウザのウィジェットでWeb表示して内容をPostすればいいんじゃないかと妄想してWebViewについて頑張って調べました。何だかんだ錯綜していて色々な情報が集まるわりに全部うまく行かずで、結論としては
- QWebViewはQtWebEngineWidgetからなら使える
- WindowsだとChromiumのビルドがVS2013しか通らないのでコンパイラをVS2013にする必要が有る(Project ERROR: Unknown module(s) in QT: webenginewidgets | Qt Forum)。MinGW版だとビルドが通らない(QT += webenginewidgetsのモジュール not foundと言われた気がする)
ので、つまるところ VS2013 のコンパイラを入れて切り替えて
#include <QtWebEngineWidgets/QWebEngineView> { QWebEngineView* WebView = new QWebEngineView(); QUrl url = "https://www.google.co.jp"; WebView->load(url); WebView->show(); }
的な感じで取り敢えず表示は出来た。(本日時点のコードはadd some modifications · moguriso/gawa_sample@4e232cc · GitHub)
意味がないことに気づいた
WebViewはViewなので、HTMLの中身に対して何らかいじって表示したりは出来そうですが、HTTPのPOST/GETしたりのネットワーク的な機能は別のクラスだった、と、6/17に書いてて気付きました。悲しい、、、
この辺を参照する限り QNetworkAccessManager で出来るの、かなぁ。。。
地味にうざかったこと
gccだと__func__マクロで自動的に関数名に置換してくれるのですがvc(vs2013)だと__func__がなくて全部ビルドエラーになりました。取り敢えず__FUNCTION__は通ったのでそっちにしてますが、何だかな。。。