QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1395|回复: 5

[GTK]如何关闭这种对话框

[复制链接]
发表于 2005-8-20 20:07:41 | 显示全部楼层 |阅读模式
用gtk_file_selection_new()创建的文件选择对话框(GtkWidget *filename)。我用以下函数点击取消按钮之后咋无法关闭该对话框,而只见cancel按钮消失了。如何才能关闭该对话框啊

    g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filename)->cancel_button),
                      "clicked", (GtkSignalFunc) gtk_widget_destroy,GTK_OBJECT (filename));


    
 楼主| 发表于 2005-8-21 11:37:15 | 显示全部楼层
斑猪大哥来一下哂
回复

使用道具 举报

发表于 2005-8-21 13:50:23 | 显示全部楼层
gtk_widget_destroy是destroy跟信号连接的控件
你要自己定义一个destroy函数
void my_destroy(GtkWidget *widget,void *data)
{
           gtk_widget_destroy(GTK_WIDGET(data));
}
回复

使用道具 举报

 楼主| 发表于 2005-8-21 14:57:58 | 显示全部楼层
哦。我回去试试。谢谢mozilla哥哥
回复

使用道具 举报

 楼主| 发表于 2005-8-21 16:27:40 | 显示全部楼层
试过好用,HOHO~~~

最近开始弄gtk,好多问题。
回复

使用道具 举报

发表于 2005-8-22 09:09:56 | 显示全部楼层
GtkWidget *file_choose_dialog;
char *filename;
file_choose_dialog = gtk_file_chooser_dialog_new ("Open File",
                                      GTK_WINDOW(user_data),
                                      GTK_FILE_CHOOSER_ACTION_OPEN,
                                      GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                      GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
                                      NULL);

if (gtk_dialog_run (GTK_DIALOG (file_choose_dialog)) == GTK_RESPONSE_ACCEPT)
  {

     filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_choose_dialog));
     g_print ("Select file : %s\n",g_filename_to_utf8  (filename,-1,0,0,0));
     gtk_widget_destroy (file_choose_dialog);
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 13:42 , Processed in 0.132574 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表