红联Linux门户
Linux帮助

GTK编程简单例子演示添加删除目录

发布时间:2009-05-05 23:35:39来源:红联作者:414716676
[i=s] 本帖最后由 414716676 于 2009-5-5 23:51 编辑 [/i]

#include
#include
#include
#include
gint delete_event(GtkWidget *widget,GdkEvent*event,gpointer data)
{
gtk_main_quit();
return FALSE;
}
void add(GtkWidget *widget,GtkWidget *entry)
{
int add;
const gchar *entry_text;
entry_text=gtk_entry_get_text(GTK_ENTRY(entry));
add=creat(entry_text,0700);
if(add==-1)
{
printf("创建失败,文件已存在!\n");
}
else
perror("文件创建成功!\n");
}
void dele(GtkWidget *widget,GtkWidget *entry)
{
int dele;
const gchar *entry_text;
entry_text=gtk_entry_get_text(GTK_ENTRY(entry));
dele=remove(entry_text);
if(dele==-1)
{
printf("删除失败,文件不存在!\n");
}
else
perror("文件删除成功!\n");
}
int main(int argc,char *argv[])
{
GtkWidget *window;
GtkWidget *label;
GtkWidget *box1;
GtkWidget *box2;
GtkWidget *entry;

gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello Buttons!");
g_signal_connect (G_OBJECT (window), "delete_event",G_CALLBACK (delete_event), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 50);

box1=gtk_hbox_new(FALSE,0);
box2=gtk_vbox_new(FALSE,0);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_box_pack_start (GTK_BOX(box1), box2, TRUE, TRUE, 0);

label=gtk_label_new("创建目录:");
gtk_box_pack_start (GTK_BOX(box2), label, TRUE, TRUE, 0);
label=gtk_label_new("删除目录:");
gtk_box_pack_start (GTK_BOX(box2), label, TRUE, TRUE, 0);

box2=gtk_vbox_new(FALSE,0);
gtk_box_pack_start (GTK_BOX(box1), box2, TRUE, TRUE, 0);

entry=gtk_entry_new();
g_signal_connect (G_OBJECT (entry), "activate",G_CALLBACK (add),entry);
gtk_box_pack_start (GTK_BOX(box2), entry, TRUE, TRUE, 0);
entry=gtk_entry_new();
g_signal_connect (G_OBJECT (entry), "activate",G_CALLBACK (dele),entry);
gtk_box_pack_start (GTK_BOX(box2), entry, TRUE, TRUE, 0);



gtk_widget_show_all(window);
gtk_main();
return 0;
}
编译源文件:gcc 此文件地址 -o 编译后的文件地址 `pkg-config --cflags --libs gtk+-2.0`
[attach]13684[/attach]
文章评论

共有 6 条评论

  1. michael_lu8888 于 2012-05-03 17:41:49发表:

    学习中

  2. zhgyxj_85 于 2010-08-30 22:10:36发表:

    厉害,学习中……刚开始上路

  3. tomorrow207 于 2009-12-02 10:21:21发表:

    多谢楼主共享啊,楼主辛苦了

  4. 414716676 于 2009-05-05 23:45:28发表:

    (o):tx简单的GTK控件,调用创建目录和删除目录的C函数,不是高手之作,大家都是互相学习的!

  5. Nesoikps 于 2009-05-05 23:38:52发表:

    偶像噢

  6. 414716676 于 2009-05-05 23:36:42发表:

    希望对各位新手有所帮助,高手就见笑了!