GTK编程--窗口最小化问题_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2460 | 回复: 0   主题: GTK编程--窗口最小化问题        下一篇 
噢噢噢噢
注册用户
等级:列兵
经验:92
发帖:1
精华:0
注册:2015-5-22
状态:离线
发送短消息息给噢噢噢噢 加好友    发送短消息息给噢噢噢噢 发消息
发表于: IP:您无权察看 2015-5-22 10:19:48 | [全部帖] [楼主帖] 楼主

GTK界面编程时不想用系统的toolbar,向自己做最大化,最小化的按钮,所以用gtk_window_set_decorated()删除toolbar,然后用gtk_window_iconify()来实现最小化,但是有点问题,可以简单描述为一下代码:

(gcc `pkg-config --cflags --libs` iconify.c -o iconify).

< ---------------------------------------------------------------

#include <gtk/gtk.h>

int main(int argc, char **argv)

{

    GtkWidget *window;

    GtkWidget *vbox;

    GtkWidget *button;

    gtk_init(&argc, &argv);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    gtk_container_set_border_width(GTK_CONTAINER(window), 8);

    g_signal_connect(window, "delete_event", (GCallback)gtk_main_quit, 0);

    vbox = gtk_vbox_new(TRUE, 0);

    gtk_container_add(GTK_CONTAINER(window), vbox);

    button = gtk_button_new_with_label("Iconify");

    gtk_box_pack_start(GTK_BOX(vbox), button, TRUE,TRUE, 0);

    g_signal_connect_swapped(button, "clicked",(GCallback)gtk_window_iconify, window);

    button = gtk_button_new_from_stock(GTK_STOCK_QUIT);

    gtk_box_pack_start(GTK_BOX(vbox), button, TRUE,TRUE, 0);

    g_signal_connect(button, "clicked", (GCallback)gtk_main_quit, 0);

    //gtk_window_set_decorated(window, FALSE);

    gtk_widget_show_all(window);

    gtk_main();

    return 0;

}

------------------------------------------------------------------->

这段代码直接运行用自己的button最小化没有问题,但是如果在gtk_widget_show_all(window);之前加上gtk_window_set_decorated(window, FALSE);来删除toolbar之后用button最小化就有问题了,窗口会在最小化后又蹦了出来,不知道是怎么会事?谢谢了




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论