如何在c++程序中使用自己的GObject实例
How to use my own GObject instace with C++ programs
我想知道如何使用我自己创建的GObject对象与我的c++代码。
我有一个用C编译的简单库,它定义了一个GObject对象,我想在我的c++代码中使用这个对象。
我在这里看到了一些例子http://developer.gnome.org/gtkmm-tutorial/3.0/sec-basics-gobj-and-wrap.html.en,那里的文档教如何从C GTK+ API函数获得一个Gobject对象实例。
我想做同样的事情,但使用从我的库中创建的对象。
谢谢。
你总是可以扩展他们的GObject类并将其用作包装器,但问题是GTK+库在内部使用GObject,我不知道为什么你想要替换它(它可能会抱怨你在某处重新定义了一个符号,或者不让你使用自定义对象作为参数调用任何方法,因为如果你扩展它,类型将不匹配)。
如果您想使用它作为包装器,您应该扩展GObject并编写一个构造函数,该构造函数接受GObject(以及您需要的任何其他东西),并在每次需要时简单地将GObject包装到您的自定义类中。
相关文章:
- 没有为自己的结构调用列表推回方法
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 在c++中为我自己的基于指针的数组分配内存的正确方法
- C++从对象自己的类中删除对象
- 使用 std::optional,而不是自己的结构
- 子轴围绕父轴而不是他自己的轴旋转
- 这个C++编译器优化(在自身的实例上调用对象自己的构造函数)的名称是什么,它是如何工作的?
- C++ 如何为自己的迭代器类从迭代器转换为const_iterator?
- 重载 + 自己的类和 std::string 的运算符
- 类无法访问自己的私有静态 constexpr 方法 - Clang bug?
- 是否可以在不填充自己的参数的情况下将模板函数作为参数传递?
- 如何访问模板参数自己的模板参数?
- 将矩阵乘以我自己的输入的向量
- 您应该在什么时候创建自己的异常类型
- 派生类是从基类继承 v 指针并仅使用它,还是也有自己的 v 指针?
- string1 == string2 和你自己的 for 循环比较有什么区别?
- 如何正确包含我自己的标头?
- 自己的自定义向量类. 内存重新分配
- 如何使用我构建的库,而不会从源代码出错,但不为我自己的项目编译?
- 如何在c++程序中使用自己的GObject实例