我已经开发了在C GTK2应用程序(Conky的伴侣),以帮助我的Conky的脚本的用户
链接: http://crunchbanglinux.org/forums/topic/19235/conky-weather-scripts-using-accuweatherwundergroundnwsweathercom/
建立相对容易自己conkyrcs。 主屏幕截图如下:
http://i.imgur.com/jWl88.jpg
用户可以拖放图标或标签,从右侧向左侧,移动,调整大小,更改它们的大小或颜色等。当开心,他可以按下按钮,生成并生成conkyrc文件。
屏幕是带桌子的上方,非可调整大小的窗口。 该表的2面是在固定的容器已经把帧。
当某人试图将一个图标或在右侧或左侧帧/固定容器的底部边框的标签,窗口小部件熄灭界限,你可以看到从上面的屏幕快照。
现在我想端口应用Gtk3,我面临着一个奇怪的问题。
每当用户试图放置或移动对象的左帧/固定容器的右侧或底部边界,它调整大小本身,以适应新放置的部件。
http://i.imgur.com/d1lc4.jpg
如果我移动对象向左(或向上),则帧返回到由gtk_widget_set_size_request定义其大小。
有没有一种方法,使一个固定的容器......固定的吗? 我不希望它来调整。
其放置在框架和在窗口中固定容器的代码是这样的:
/* 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);
g_signal_connect (fixed1, "drag-drop",G_CALLBACK (dr_data_rec_1d1), (gpointer)fixed1);
gtk_widget_show(fixed1);
我尝试了以下几件事:
1)用GTK_EXPAND和GTK_FILL摆弄用于帧的放置。 没变。
2)为窗口,表格,框架和固定容器gtk_window_set_geometry_hints。 没变。
3)与gtk_grid更换gtk_table。 没变。
我很在做什么或者什么搜索损失; 我甚至不知道这个问题是否是在窗口,桌子,框架,固定容器或在一些不起眼的拖放设置。
展望未来的任何暗示和遗憾,如果该解决方案易于和/或显而易见的。