Tag: gtk

用C \ GTK截取屏幕截图

我正试图用C和GTK拍摄整个屏幕的截图。 出于速度原因,我不想打电话给外部应用程序。 我已经为此找到了Python代码( 通过python脚本截取屏幕截图。[Linux] ); 我只需要弄清楚如何在C中做到这一点。

如何用CSS设置GtkLabel样式?

我正在尝试使用CSS来设置GtkLabel的样式。 我想更改标签的颜色和字体大小。 这是我的C代码: #include int main(int argc, char *argv[]) { gtk_init(&argc, &argv); GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); GtkWidget *label = gtk_label_new(“Label”); GtkCssProvider *cssProvider = gtk_css_provider_new(); gtk_css_provider_load_from_path(cssProvider, “theme.css”, NULL); gtk_style_context_add_provider(gtk_widget_get_style_context(window), GTK_STYLE_PROVIDER(cssProvider), GTK_STYLE_PROVIDER_PRIORITY_USER); g_signal_connect(window, “destroy”, G_CALLBACK(gtk_main_quit), NULL); gtk_container_add(GTK_CONTAINER(window), label); gtk_widget_show_all(window); gtk_main(); } 这是我在theme.css CSS,目前这应该只改变字体颜色: GtkLabel { color: green; } 我编译: gcc `pkg-config gtk+-3.0 –cflags` test.c -o test `pkg-config […]

带有Quartz的GTK窗口

我正在尝试使用GStreamer SDK的basic-tutorial-5来处理OSX。 SDK从http://gstreamer.freedesktop.org/data/pkg/osx/1.2.4.1/下载 来自http://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/的教程(适用于1.0) 我收到以下错误 basic-tutorial-5.c:5:10: fatal error: ‘gst/video/videooverlay.h’ file not found 我跑的时候 gcc `pkg-config gstreamer-1.0 gtk+-3.0 –cflags –libs` basic-tutorial-5.c -o basic5 任何指针都会有所帮助! 谢谢。 编辑: gst/video/videooverlay.h中有一个gst/video/videooverlay.h /local/frameworks/Gstreamer.framework/Headers 。 pkg-config gstreamer-1.0 gtk+-3.0 –cflags –libs不包括/Library/Frameworks/Gstreamer.framework/Versions/1.0/Headers 感谢@Biffen使用时 gcc `pkg-config –cflags –libs gtk+-3.0` -o basic5 basic-tutorial-5.c -I/Library/Frameworks/Gstreamer.framework/Versions/1.0/Headers -framework GStreamer 还有一点动作: basic-tutorial-5.c:114:17: warning: ‘gtk_button_new_from_stock’ is deprecated [-Wdeprecated-declarations] play_button = gtk_button_new_from_stock […]

在Visual Studio 2012中编译GTK3程序

随着Windows的Gtk 3发布,我想到升级我的Gtk 2 C应用程序以利用新的GtkGrid小部件。 该程序在linux下编译或在Windows下使用MinGW(带代码块),但是当我在Visual Studio 2012下尝试相同的文件集时,给我50个左右的编译错误,说gutils.h,gtrashstack.h和gstring.h有一堆语法错误(假设我只使用一个基本程序,只有一个gtk_init和gtk_main)。 Visual Studio非常好地处理了gtk2。 为什么拒绝使用gtk3进行编译? 有什么办法让它与它一起工作? 尽管我喜欢Code :: Blocks,外部powershell迫使我保持​​我的代码VS2012兼容…… 编辑:我创建了一个存储库,其中包含一个简单的gtk3程序和VS2012和Codeblocks的预配置项目文件。 https://github.com/The-J-Person/Example-gtk3-vs2012-project 编辑2:这是VS2012给出的编译错误列表: http ://pastebin.com/ThZpwVmg

使用Gnome库(GDK)获取键盘修饰符状态仅获取初始状态

我试图通过gnome GDK或GTK库来获取当前的键盘修饰符状态,目的是实现显示该状态的可访问性gnome shell扩展。 我知道如何使用xlib获得状态,但是gnome gjs没有完全绑定。 下面的代码只获得初始状态。 它不会更新状态。 /* * compiling: gcc `pkg-config –cflags gdk-3.0` -o gdk_mod gdk_mod.c `pkg-config –libs gdk-3.0` */ #include int main (int argc, char **argv) { gdk_init(&argc, &argv); GdkDisplay * disp; disp = gdk_display_open(NULL); if (disp!=NULL) g_printf(“display connected!\n”); GdkKeymap * kmap; kmap = gdk_keymap_get_for_display(disp); guint state; state = gdk_keymap_get_modifier_state(kmap); g_printf(“mod state: %x\n”, […]

完全厌倦了获得Gtk小部件的高度和宽度

试图获得GtkEventBox的高度和宽度。 试过以下事情。 GtkRequisition requisition; gtk_widget_get_child_requisition(widget, &requisition); // Getting requisition.height 0 ———————————————————- widget->allocation-x //getting 0 widget->allocation-height //getting -1 ———————————————————- gtk_widget_get_size_request( widget, &height, &width); // Again getting 0 ————————————————————————– 非常糟糕的是,Gtk没有提供简单的function,它将为您提供实际显示的高度和小部件。 有人试图获得身高和GtkWidget吗?

在Windows下使用gcc安装gtk并进行编译?

我在c:/ programfiles中安装了gcc(也设置为路径变量),我从http://www.gtk.org/download-windows.html,glib,gtk,pango获得gtk的所有必要文件, atk和cairo。 虽然我不知道如何使用gtk和gcc编译器编译ac程序。 如何设置所有内容以使其有效? (我不知道每个zip文件的位置。?)基本上我真的不知道从哪里开始。

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:创建一个彩色的常规按钮 如何使用按钮样式更改按钮样式? 有人可以提供一些例子吗?

为什么我的GTK +信号回调会出现分段错误?

我正在尝试测量GTK标签的大小: #include static void map_event(GtkWidget *window, gpointer lab) { g_print( “In the callback..\n” ); GtkWidget *label = GTK_WIDGET(lab); g_print( “Everything is ok..\n” ); } static void activate (GtkApplication* app, gpointer user_data) { GtkWidget *window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), “Window1”); gtk_window_set_default_size (GTK_WINDOW (window), 200, 280); GtkWidget *grid = gtk_grid_new (); gtk_container_add (GTK_CONTAINER (window), grid); […]

GLib-GIO-ERROR **:系统上没有安装GSettings模式

不幸的是,我使用的是Windows(Windows7 x64)。 使用Code :: Blocks和GTK + 3.6.4中的MinGW编译器。 我从glib手动编译了所有模式。 当我使用文件选择器对话框/颜色选择器 – 没关系时,我收到以下错误: GLib-GIO-ERROR**: No GSettings schemas are installed on the system ,程序终止。 我该怎么做才能解决这个问题?