少し問題があります。助けていただければ幸いです。
最初:私は数日間検索し、いくつかの異なる解決策を見つけましたが、それらはすべてうまくいきませんでした.
基本的に、HTML5 と Javascript を使用して小さなアプリケーションを作成しましたが、問題ありません。しかし、今はすべてのものをファイルに保存したいと思っています。それも実際の問題ではありません。fstream は十分に簡単です。
ここに私の問題があります: 関数を呼び出すにはどうすればよいですか? QtObjectの作成など、いくつかのアプローチを試しましたが、Javascript関数をC++関数に接続する必要があるため、もちろんうまくいきませんでした。そのため、JS-Bridge-Docu ( http://qt-project.org/doc/qt-4.8/qtwebkit-bridge.html ) を読みましたが、十分に理解できませんでした (これは間違いなく可能性の領域!)、または QtWeb クラスの 1 つではなく、組み込みの Html5ApplicationViewer クラスを使用するため、私の問題には十分に具体的ではありません。
解決策、または少なくともこの問題を解決する方法を教えてください。それが私のプロジェクトの唯一の難点なので、本当に頭がおかしくなりそうです。
現時点で私のコードは次のとおりです。
#include <QApplication>
#include <fstream>
#include "html5applicationviewer.h"
using namespace std;
void initFile() {
fstream f;
f.open("music.nxc", ios::trunc|ios::out);
f << "task main() {" << endl;
f.close();
}
class fileSave : public QObject {
public:
void saveToFile();
};
void fileSave::saveToFile() {
fstream f;
f.open("music.nxc", ios::out|ios::app);
f << "success!" << endl;
f.close();
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
Html5ApplicationViewer viewer;
viewer.resize(1280, 800);
viewer.setOrientation(Html5ApplicationViewer::ScreenOrientationAuto);
viewer.showExpanded();
viewer.loadFile(QLatin1String("html/index.html"));
initFile();
fileSave file;
return app.exec();
}
コードがあまり良くないことはわかっていますが、この問題が解決したらすぐにクリーンアップします。