Tag: 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 […]

GtkEntry文本更改信号

如何在GtkEntry的缓冲区中连接信号回调以进行任何类型的更改,包括添加,删除,粘贴或剪切的字符? 我没有找到这个,我查看了GtkWidget,GtkEntry和GtkEntryBuffer的文档。 注意:如果我的问题措辞严重,请考虑HTML DOM的change事件, 除非在每次导致更改的按键或事件之后贪婪地触发,而且不仅仅检查了非焦点。

将字符数组转换为const gchar *

我有一个包含字符串的字符数组: char buf[MAXBUFLEN]; buf[0] = ‘f’; buf[1] = ‘o’; buf[2] = ‘o’; buf[3] = ‘\0’; 我希望将此字符串作为参数传递给gtk_text_buffer_insert函数,以便将其插入到GtkTextBuffer 。 我无法弄清楚的是如何将它转换为const gchar * ,这是gtk_text_buffer_insert期望的第三个参数。 有人可以帮帮我吗?

GTK hello_world计划中的内存泄漏

所以…我正试图消除我的GTK + 3程序中的一些内存泄漏。 我虽然回顾一些简单的例子看看是否有一些我忘记的清理工具是个好主意,但文档中提供的hello_world程序也有漏洞。 (下面的Valgrind输出)。 这些泄漏是否可以接受? 如果是这样,我应该使用其他一些应用来调试GTK程序吗? ==13717== Memcheck, a memory error detector ==13717== Copyright (C) 2002-2012, and GNU GPL’d, by Julian Seward et al. ==13717== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==13717== Command: ./a ==13717== Hello World ==13717== ==13717== HEAP SUMMARY: ==13717== in use at exit: 1,578,162 bytes in 11,614 […]

如何在Make中使用pkg-config

我想编译最简单的GTK程序。 我可以使用命令行编译它: gcc $(pkg-config –cflags –libs gtk+-3.0) main.c -o main.o 但是,如果我使用Make它不起作用: CFLAGS=-g -Wall -Wextra $(pkg-config –cflags) LDFLAGS=$(pkg-config –libs gtk+-3.0) CC=gcc SOURCES=$(wildcard *.c) EXECUTABLES=$(patsubst %.c,%,$(SOURCES)) all: $(EXECUTABLES) 它告诉我这个: gcc -g -Wall -Wextra -c -o main.o main.c main.c:1:21: fatal error: gtk/gtk.h: No such file or directory #include ^ compilation terminated. : recipe for target ‘main.o’ failed make: […]

如何让Gtk +窗口背景透明?

我想让Gtk +窗口的背景透明,以便只有窗口中的窗口小部件可见。 我找到了一些教程: http://mikehearn.wordpress.com/2006/03/26/gtk-windows-with-alpha-channels/ http://macslow.thepimp.net/?p=26 但他们似乎都倾听“暴露”事件,然后委托开罗进行渲染。 这意味着不会渲染添加到窗口的其他窗口小部件(例如,我也尝试向窗口添加按钮)。 我看到GtkWidget上有一个方法modify-bg: http : //library.gnome.org/devel/gtk/stable/GtkWidget.html#gtk-widget-modify-bg 但是,GdkColor似乎不接受透明度参数: http : //library.gnome.org/devel/gdk/stable/gdk-Colormaps-and-Colors.html 我也尝试过GtkWindow.set_opacity方法,但这也设置了窗口内容的不透明度,这不是我想要的。 我很感激任何人都可以提供任何指导。