Qt 占碑和线程
我正在尝试用 C++ 创建一个 Qt 小部件作为 Jambi 小部件的子项。将父级的本机指针传递给 JNI 方法似乎是最简单的方法,但 Qt 抱怨在与父级不同的线程上创建小部件。
JNI 是否在与 Java 代码不同的线程上运行方法?或者 Jambi 是否在幕后做了一些诡计,而我的 Java Qt 调用实际上是在不同的线程上调用的?或者其他什么?这是怎么回事?我能做什么?
I'm trying to create a Qt widget in C++ as a child of a Jambi widget. Passing the parent's native pointer into a JNI method seems to be the straightforward approach, but Qt complains about creating the widget on a different thread than the parent.
Does JNI run methods on a different thread than the Java code? Or is Jambi doing some trickery behind the scenes and my Java Qt calls are really being invoked on a different thread? Or something else? What's going on here, and what can I do about it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
停止编写自己的 JNI,使用 Qt Jambi 生成器 为您的 C++ Widget 生成存根并在 java 中执行所有代码。
Quit writing your own JNI, use The Qt Jambi Generator to generate stub for your C++ Widget and do all your code in java.