Part 3
启动Qt程序
通过Java启动Qt程序可以调用命令行, 这样Qt会在另一个进程开始.
1
2
3
4
5
6
7
8
9
10
|
public
static
void
launchSampleApp() {
Runtime rn = Runtime.getRuntime();
Process p =
null
;
try
{
String command =
"QtAppSample"
;
p = rn.exec(command);
}
catch
(Exception e) {
System.out.println(
"JAVA Failed to launch Sample."
);
}
}
|
>用进程启动Qt可能在通信效率和资源共享方面有些影响.
Qt事件循环是个dead loop, 如果直接在JNI中启动Qt程序会把Java的主线程Block住; Qt main event loop will block the Java main thread;
Java 启动Qt需要另起一个线程