Tag: gtk2

将GTK3.0项目移植到GTK2.0

我正在构建一个简单的GUI应用程序,我已成功部署并运行在我的Raspberry PI开发板上。 但是,由于OpenCV依赖于GTK + v2.0的问题,我必须将我的应用程序反向移植到旧版本的GTK +。 我已经熟悉改变包含路径等等,以及我的makefile中的库链接命令。 但是,当我进行所有必要的更改时,在构建期间会发生致命错误。 Building dependencies file for main.o In file included from /opt/rpi/usr/include/gtk-2.0/gdk/gdkscreen.h:32:0, from /opt/rpi/usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31, from /opt/rpi/usr/include/gtk-2.0/gdk/gdk.h:32, from /opt/rpi/usr/include/gtk-2.0/gtk/gtk.h:32, from inc/ui.h:8, from main.c:10: /opt/rpi/usr/include/gtk-2.0/gdk/gdktypes.h:55:23: fatal error: gdkconfig.h: No such file or directory 我已经确认我的GTK + v3.0安装缺少文件gdkconfig.h : find /opt/rpi/usr/include -iname “gdkconfig*” ./gtk-3.0/gdk/gdkconfig.h 但是我的GTK + v2.0安装没有这样的文件。 我已经通过apt-get安装了最新版本,但仍然没有运气。 这个问题有什么解决方案吗? 谢谢。

如何获取有关OpenGL上下文的尽可能多的信息

您好世界,感谢您抽出宝贵时间阅读本文! 我正在用GTK2 / 3 + OpenGL编写一个程序,我运行了两个版本的程序: (a)GTK + 2 + GtkGlext扩展 – >效果很好! (b)GTK + 3 + LibX11 – >工作正常! 一切看起来都很好,除了(a)中的渲染明显快于(b)中的渲染……而且我不知道为什么。 以下是用于创建OpenGL上下文的代码部分的一些示例: (一个) // To create the context, and the associated GtkWidget GdkGLConfig * glconfig = gdk_gl_config_new_by_mode (GDK_GL_MODE_RGBA | GDK_GL_MODE_DEPTH | GDK_GL_MODE_DOUBLE); GtkWidget * drawing_area = gtk_drawing_area_new (); gtk_widget_set_gl_capability (drawing_area, glconfig, NULL, TRUE, GDK_GL_RGBA_TYPE); g_signal_connect […]

如何在Gtk 2窗口上创建cairo_t

我有一个旧应用程序,现在正在编译Gtk 2,但我需要介绍使用Cairo。 我无法弄清楚如何从我的Widgets创建必要的cairo上下文(cairo_t)。 这是我到目前为止要学习的代码,从Gtk 3教程修改(* ahem * cribbed)。 问题的关键是从窗口小部件创建一个cairo表面。 就目前而言,该调用是一个草图,它不会编译,更不用说运行了。 记住,我的目标是Gtk2,而不是3,至少在这一点上。 /* Snitched from http://zetcode.com/gfx/cairo/cairobackends/ on 13 Jan 2014 */ #include #include #include int main(int argc, char *argv[]) { GtkWidget *window; GtkWidget *darea; cairo_surface_t *surface; cairo_t *cr; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); darea = gtk_drawing_area_new(); gtk_container_add(GTK_CONTAINER(window), darea); g_signal_connect(window, “destroy”, G_CALLBACK(gtk_main_quit), NULL); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window), 400, […]

GTK修改GtkButton的背景颜色

试图改变背景/前景色……使用Gtk +和C. GdkColor color; gdk_color_parse( “#0080FF”, &color ); gtk_widget_modify_fg( GTK_WIDGET(button), GTK_STATE_SELECTED, &color ); gtk_widget_modify_fg( GTK_WIDGET(button), GTK_STATE_NORMAL, &color ); 我正在使用上述function,但它没有给出任何结果。 我正在寻找这个问题中提出的问题(但在C中): GTK:创建一个彩色的常规按钮 如何使用按钮样式更改按钮样式? 有人可以提供一些例子吗?

如何将合成鼠标事件插入X11输入队列

我有一台运行Linux / X11的嵌入式设备连接到通过USB连接提供触摸事件的设备。 此设备无法识别为任何forms的标准指针/鼠标输入。 我想要做的是找到一种方法,在外部设备报告事件时将鼠标事件“注入”X11。 这样做将不再需要我的应用程序(使用Gtk +用C语言编写)来伪造用Gtk +调用的鼠标。 如果可以这样做,我的Gtk +应用程序将不需要知道或关心生成触摸事件的设备。 它只会在应用程序中显示为标准鼠标事件。 有谁知道如何将合成鼠标事件插入X11? 现在我正在做以下工作,但不是最佳的。 GtkWidget *btnSpin; /* sample button */ gboolean buttonPress_cb( void *btn ); gboolean buttonDePress_cb( void *btn ); /* make this call after the device library calls the TouchEvent_cb() callback and the application has determined which, if any, button was touched In this example […]