- 188 名前:167 mailto:sage [2009/05/22(金) 12:21:32 ]
- >>167
です。 QNetworkAccessManagerを使ってみました。 QNetworkReply*の扱いが若干不気味ですが、 うまく行きました。 まとめると、 ・SIGNAL(finished())などを受け取る前に、 QFile::write( QNetworkReply::readAll() )を呼び出すと、 ブランクファイルになる模様です。 同一スロット内に記述せずに、分けてconnectするのが賢明らしい。 ・hidden属性のinput(固定値を返す)ような場合でもPOSTで渡す必要がある。 ・POSTするデータ形式はQUrl::toPercentEncode()をかませる必要がある。 また、全体的なクラス構成で、 myCoreなどとしてダイアログとは別にクラスを作り、 その中でQNetworkAccessManager等を生成した場合、 thisポインタを親として渡せず(QObject*じゃなくなる)、 コンストラクタで(QObject *parent)を受け取ることができない。 回避しようとQObjectを継承すると、 今度はダイアログからの呼び出し時に、 自分で定義したメンバ関数やpublicなスロットをうまく呼び出せない。 QObject::slotMySlot()が見つかりません、と表示される…。 myCore::slotMySlot()を呼び出したいのに。
|

|