我有一个小问题,希望你能帮助我。
首先:我搜索了几天,发现了一些不同的解决方法,但它们都对我不起作用。
我基本上使用 HTML5 和 Javascript 构建了一个小应用程序 - 没问题。但现在我想把所有的东西都保存到一个文件中。这也不是真正的问题,fstreams 很容易。
现在这是我的问题:如何调用我的函数?我尝试了几种方法,比如制作一个 QtObject 和类似的东西,但这当然不起作用,因为我必须将 Javascript 函数与我的 C++ 函数连接起来。正因为如此,我阅读了 JS-Bridge-Docu(http://qt-project.org/doc/qt-4.8/qtwebkit-bridge.html),但要么我理解得不够好(这肯定在可能性的领域!),或者它对我的问题不够具体,因为我使用内置的 Html5ApplicationViewer 类而不是 QtWeb 类之一。
你能给我解决方案,或者至少给我一个解决这个问题的方法吗?这真的让我发疯,因为这是我项目中唯一的困难。
目前我的代码是这样的:
#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();
}
我知道代码不是很好,但我会在这个问题解决后立即清理它。