10得票1回答
GTK+ 3.0:如何使用带有自定义模型项的Gtk.TreeStore?

我正在尝试使用Python开发一个GTK应用程序,但我在正确使用gtk.TreeStore方面遇到了困难。我的主要问题是:我已经解析了一些JSON数据,并且有自己的数据结构,它基本上是一个Python列表和两种对象:一种表示项目集合(集合不能嵌套),另一种表示项目(可能出现在列表中,也可能出现...

10得票3回答
调用一个带有比它所期望的参数更多的C函数是否安全?

我一再遇到在GTK+代码中设置信号处理程序的问题,不需要其中几个参数并且想要使用相同的函数作为多个信号的处理程序,但是这些处理程序具有不同的签名 - 但前N个参数(我关心的那些)相同。将指针传递给GObject API中的函数是否安全(在未定义行为的意义上,而不是更实用的“它在我的PC上工作吗...

10得票3回答
GObject与C++:GObj提供了哪些优势,并且在速度/大小方面如何比较?

GTK+对于面向对象语言如C++提供了什么?或者说没有使用GObject就无法使用GTK+吗? 在假设两个示例都使用相同编译器的情况下,GObject实现的对象与C++的大小和速度是否相似?或者说在提供其他功能的前提下,GObject是否会存在一些折衷导致速度较慢?

9得票3回答
神秘的 GObject 警告:断言“G_IS_OBJECT(object)”失败

运行我的GTK(Python GObject introspection)应用程序时,我收到一个警告,但无法确定其来源。当应用程序正在加载并且我正在填充GtkListStore时,第一次追加行后,我会收到以下警告: /usr/lib/python2.7/site-packages/gi/ty...

9得票2回答
GObject、Gtk、Gnome、Gtk+、Gl、Gtk2、Gtk3... 我不懂是什么?

我需要一个窗口来承载 WebKit 和/或 Cairo 绘图,但首先我必须处理所有这些内容以理解我在做什么。 现在,我迷失了方向,不再明白这些东西到底是什么。 当我尝试使用绑定或者试图弄清楚某个东西的依赖关系时,情况会变得更加糟糕。例如,在 Python 中,pyGtk 被弃用并被 pyG...

9得票2回答
有没有一个好的方法来复制一个Gtk小部件?

在C语言中使用Gtk库,是否有一种方法可以克隆一个Gtk按钮(例如),并将其打包到应用程序中的其他位置。我知道您不能两次打包相同的控件。这段代码显然不起作用,但显示了当我尝试浅拷贝按钮时会发生什么: GtkButton *a = g_object_new(GTK_TYPE_BUTTON, "...

9得票2回答
在GTK中,“signals”和“events”的区别是什么?

我正在尝试使用GTK开始编程,但我发现信号的文档(https://developer.gnome.org/gobject/stable/signal.html)很难理解。 似乎“信号”和“事件”之间存在差异。例如,Widget的“event”信号的文档(https://developer.g...

9得票3回答
在Windows上使用PyGObject

在过去几天的头痛中,我找到了三种可能的方法来做到这一点,但它们都存在问题。 PyGObject的pip 安装失败,因为缺少Cairo和可能其他依赖项。虽然这是我首选的方法,但也可能是最难实现的。 使用MSYS2可以通过mingw64 python使用GObject,但使用pip获取我的其他...

9得票1回答
Vala和Genie已经可以用于生产环境了吗?

我正在处理一些遗留的C代码,需要对其进行重构和清理,以消除意大利面条式编程,遵循DRY原则等。 我考虑使用C++进行重写,但不想走得太远,并希望尽可能接近C(同时使用一些面向对象的概念[而无需手动编码])。 最近我发现了GObject、Vala和Genie,后两者较新。有人知道Vala或Gen...

8得票2回答
Gtk开关激活信号未触发

我正在尝试在应用程序中使用Gtk.Switch小部件,但是“activate”信号不会因为点击而触发。当使用键盘通过在其上按下reture / space键时,它可以正常工作,但是点击不会触发“activate”事件。 有什么想法可以注册用于点击Gtk.Switch的信号吗? from g...