将Python GTK GUI前端与后端一起使用C++后端
Using Python GTK GUI front end with C++ backend
我有一些C++代码,现在正在为应用程序构建GUI。过去,我使用 python 和 pygtk 进行 GUI 编程,偶尔会链接到一些C++代码来完成一些繁重的工作。我想继续这种趋势,但有一个关于在这种情况下如何做到这一点的问题。C++代码的一部分从相机获取图像,我想在 GUI 上显示这些图像。我过去使用过libvlc,可以将xid从绘图区域传递到vlc以绘制视频。我想做同样的事情,但似乎不知道如何使用 xid。我已经研究了一下 vlc 代码,但还没有理解它。如何将 python 中 gtk 小部件的 xid 传递给C++并让C++代码在 gtk 小部件上绘制图像?
如果您有绘图区域,则可以执行以下操作:
#include <gdk/gdkx.h>
GtkWidget *drawing_area;
GdkWindow *window;
Window xid;
if (gtk_widget_get_realized (drawing_area)) {
window = gtk_widget_get_window (drawing_area);
xid = gdk_x11_window_get_xid (window);
}
然后你可以将 xid 传递给你想要的任何内容。
请注意,小部件只有在实现时才创建其窗口。 因此,在绘图区域的"实现"信号发出之前,不要执行上述操作。
您需要使 Python 代码中的绘图区域可用于C++代码。 我不太了解 pygtk 的内部结构,所以这取决于你:)
相关文章:
- ArrayFire中统一后端的使用
- 有没有办法知道Tracer是否成功地完全连接到了jaegerclientcpp中的jaeger后端服务器
- 如何在 LLVM 后端的机器级别找到 def-use 链
- 如何在 boost::msm 中实现可以访问状态机 (SM) 的后端/前端的"BaseState"
- 在单链表中的后端插入节点
- CUDA(GPU)作为OpenCV后端
- 如何将C 中的后端写入与TCL/TCK用户界面连接
- 在同一应用程序中,可以将C 用作后端和Javafx
- 是否可以使用 c++ 作为 Electron.js 的后端
- 我如何将 c++ 中的向量序列化为 char,以便于将 mondodb 用于后端
- 当后端响应需要很长时间时,WXWIDGET应用程序会挂起
- Boost ::使用与多个水槽的同一后端使用相同的后端安全性
- 从Web前端发送请求到C 后端
- 无法使用CPU后端使用TensorFlow AOT编译创建最终二进制文件
- Skia中的非均匀文本缩放(Freetype 2后端)
- 带有C 类的Electron Nodejs在后端
- 用于C++后端服务的 Web 界面
- 在不减慢主应用程序速度的情况下在后端运行成员函数的技巧是什么
- 在Boost Meta状态机的后端访问前端
- 将Python GTK GUI前端与后端一起使用C++后端