Tag: gtk

开罗从数据加载图像

我对cairo库有疑问。 我下载了一张图片,然后将其放入缓冲存储器中。 在cairo中是否有任何解决方案从内存中的数据加载图像? 谢谢

如何在gtk应用程序中执行定期作业?

我需要使用基于gtk的GUI创建一个应用程序,该应用程序检查socekets以查看传入的消息并显示收集的统计信息,而无需用户输入任何内容。 这怎么组织起来?

将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安装了最新版本,但仍然没有运气。 这个问题有什么解决方案吗? 谢谢。

使用多个图像的GTK2应用程序内存泄漏

这是关于GTK2处理资源使用的最后一个问题的后续内容。 应用程序正在正确显示图像,但是现在每次从磁盘加载GtkImages并将其放置在固定帧上进行绝对定位时,它似乎会泄漏一些内存。 我使用以下几秒钟调用的基本方法来加载和显示不同的图像集。 int DisplaySymbols( GameInfo *m ) { // variable declarations removed for brevity // error checking needs to be added GtkWidget *image; pos_y = 150; for( y = 0; y < 3; y++ ) { pos_x = 187; for( x = 0; x < 5; x++ ) { image=gtk_image_new_from_file( fileName ); gtk_fixed_put(GTK_FIXED(frame), image, […]

GTK文本输入

看了一下firefox的历史窗口后,我看到了一些我想要实现的内容: 如何使条目中的默认文本褪色?

执行gtk3的新高度宽度几何管理方法

继续我以前的问题 拖放固定容器会改变其大小 我按照ergosys提供的建议阅读了他提供的链接中的信息。 如果我理解正确,那就是新的宣告方式 /* LEFT FRAME */ frame1= gtk_frame_new(NULL); gtk_table_attach(GTK_TABLE(table), frame1, 0,14,0,49,GTK_SHRINK,GTK_SHRINK,0,0); gtk_widget_set_size_request(frame1, 360,570); 是(暂时忽略高度) static void my_widget_get_preferred_width (GtkWidget *widget, gint *minimal_width, gint *natural_width) { GtkRequisition requisition; gtk_widget_get_requisition (widget, &requisition); *minimal_width = *natural_width = requisition.width; } …. /* LEFT FRAME */ frame1= gtk_frame_new(NULL); gtk_table_attach(GTK_TABLE(table), frame1, 0,14,0,49,GTK_SHRINK,GTK_SHRINK,0,0); gint min_width=360; gint nat_width=360; GTK_WIDGET_GET_CLASS(frame1)->get_preferred_width=my_widget_get_preferred_width; my_widget_get_preferred_width(frame1,&min_width,&nat_width); 它编译好,但是,运行时,它给了我这个错误: (conky_companion:19700): […]

更改窗口的不透明度/隐藏它而不影响其子项

我只是有一个绘图区域,包含在GtkWindow顶层。 如何隐藏窗口/使其完全透明而不对其子项进行操作(在这种情况下是绘图区域)? 我的目标是这个程序绘制的所有内容都只是canvas图。

如何使用css代码单独设置gtk小部件的样式

在此GTK +更改字体旋转按钮后 , 如何将CSS应用于GTK +代码? 问题,我开始了解如何将CSS样式应用于GTK代码,但仍然有很多令人困惑的细节。 这是我创建两个按钮和三个标签的代码: test.c的 #include #include static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *window = gtk_application_window_new (app);; GtkWidget *button_01 = gtk_button_new_with_label(“This is button 01”); GtkWidget *button_02 = gtk_button_new_with_label(“This is button 02”); GtkWidget *label0 = gtk_label_new(“hello 0”); GtkWidget *label1 = gtk_label_new(“hello 1”); GtkWidget *label2 = gtk_label_new(“hello 2”); GtkWidget * main_box […]

无法编译GTK程序

操作系统:Fedora 18 内核:3.6.10-4.fc18.x86_64 我无法编译简单的GTK程序: #include int main( int argc, char *argv[]) { GtkWidget *window; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_show(window); gtk_main(); return 0; } 命令: [root@localhost dir]##gcc -o graph graph.c `pkg-config –libs –cflags gtk+-2.0` /lib64/libGL.so.1: undefined reference to _glapi_tls_Dispatch collect2: error: ld returned 1 exit status

拖放固定容器会改变其大小

我在C中开发了一个gtk2应用程序(Conky Companion)来帮助我的conky脚本用户 链接: http : //crunchbanglinux.org/forums/topic/19235/conky-weather-scripts-using-accuweatherwundergroundnwsweathercom/ 相对轻松地创建自己的conkyrcs。 主屏幕的屏幕截图如下: http://sofzh.miximages.com/c/jWl88.jpg 用户可以从右侧向左侧拖放图标或标签,移动它们,调整它们大小,改变它们的大小或颜色等。当开心时,他可以按下生成按钮并生成一个conkyrc文件。 屏幕是一个带有桌子的顶部不可resize的窗口。 桌子的两侧是放置固定容器的框架。 每当有人试图在左框架/固定容器的右边框或下边框放置图标或标签时,窗口小部件就会脱离边界,正如您在上面的屏幕截图中看到的那样。 我现在正试图将应用程序移植到Gtk3,我面临着一个奇怪的问题。 每当用户尝试将对象放置或移动到左框架/固定容器的右边框或底部边框时,它会调整自身大小以适应新放置的窗口小部件。 http://sofzh.miximages.com/c/d1lc4.jpg 如果我将对象向左移动(或向上移动),则帧将返回到由gtk_widget_set_size_request定义的大小。 有没有办法让固定容器……固定? 我不希望它resize。 将框架和固定容器放在窗口中的代码如下: /* LEFT FRAME */ frame1= gtk_frame_new(NULL); gtk_table_attach(GTK_TABLE(table), frame1, 0,14,0,49,GTK_SHRINK,GTK_SHRINK,0,0); gtk_widget_set_size_request(frame1, 360,570); gtk_widget_show(frame1); /* LEFT FRAME – FIXED CONTAINER */ fixed1 = gtk_fixed_new(); gtk_widget_set_has_window(fixed1,TRUE); gtk_container_add(GTK_CONTAINER(frame1),fixed1); gtk_widget_modify_bg (fixed1, GTK_STATE_NORMAL, &color); gtk_drag_dest_set ( fixed1, GTK_DEST_DEFAULT_ALL, target_list, 1, GDK_ACTION_COPY|GDK_ACTION_MOVE); […]