Files
racket-webview/rktwebview_qt/main.cpp
2026-03-03 22:52:22 +01:00

70 lines
1.6 KiB
C++

#include "rktwebview.h"
#include <QThread>
static int _argc;
static char **_argv;
void eventCb(rkt_event_t *e)
{
printf("event: %s\n", e->event);
rkt_webview_destroy_event(e);
}
int main(int argc, char *argv[])
{
int wv1;
int wv2;
_argc = argc;
_argv = argv;
rkt_webview_init();
wv1 = rkt_webview_create(0, eventCb);
rkt_webview_set_url(wv1, "https://wikipedia.org");
int i = 0;
while(i < 60) {
printf("Waiting...%d\n", i);
rkt_webview_process_events(1000);
if (i == 6) {
rkt_webview_open_devtools(wv1);
}
if (i == 3) {
rkt_js_result_t *r = rkt_webview_call_js(wv1, "{ let a = 7 * 6; console.log('a = ' + a); return a; }");
printf("rkt_js_result: %d: %s\n", r->result, r->value);
}
if (i == 4) {
rkt_js_result_t *r = rkt_webview_call_js(wv1, "let el = document.getElementById('hi');el.value = '10';");
printf("rkt_js_result: %d: %s\n", r->result, r->value);
}
if (i == 6) {
rkt_js_result_t *r = rkt_webview_call_js(wv1, "document.body.innerHTML = '<h1>Hi!</h1>'; return document.body.innerHTML;");
printf("rkt_js_result: %d: %s\n", r->result, r->value);
}
if (i == 10) {
wv2 = rkt_webview_create(0, eventCb);
}
if (i > 10) {
char buf[1000];
sprintf(buf, "{ let obj = { e: 'test', i: %d }; window.rkt_send_event(obj); }", i);
rkt_webview_run_js(wv1, buf);
}
if (i == 24) {
rkt_webview_close(wv2);
}
i += 1;
}
rkt_webview_close(wv2);
}