歡迎您光臨本站 註冊首頁

GTK編程 註冊界面

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

     學了一個學期的linux,感覺收穫挺大的,還在網上認識了很多熱心的朋友,幫助我解決了不少問題,呵呵···今天最後去了一次機房把我這幾天嘔心瀝血完 成的結課作業交給了老師,頓時心裡有點空落落的···現在把我的結課作業發布一下,當做是紀念吧,呵呵····

      用gtk寫的一個簡單的註冊界面,填寫完用戶信息後點擊按鈕,下面的標籤就會發生變化,由原來的幾何圖形變為歡迎致辭,原打算點擊按鈕之後,出現用戶註冊 信息的,無奈沒有調出來,有點遺憾,不過畢竟老師上課的時候也沒有講過(老師可奸詐啦,說為了公平起見,最後的結課作業就讓我們做沒學過的東西),我也是 最近才自學的,可以原諒哈····呵呵···請大家多多指教啦

 

·········10········20········30········40········50········60········70········80········90
001.#include<gtk/gtk.h>
002. 
003.void button_event(GtkWidget*,gpointer*);
004.GtkWidget *passwd;
005.GtkWidget *name;
006.GtkWidget *label0;
007. 
008.int main(int argc,char *argv[])
009.     {
010.      GtkWidget *window;
011.      GtkWidget *button;
012.      GtkWidget *label;
013.      GtkWidget *box;
014.      GtkWidget *box1;
015.      GtkWidget *box2;
016.      GtkWidget *box3;
017.      GtkWidget *box4;
018.      GtkWidget *mail;
019.      GtkWidget *combo;
020.      GList *glist=NULL;
021.  
022.      
023. 
024.      gtk_init_check(&argc,&argv);
025.      window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
026.       gtk_signal_connect(GTK_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);
027.       box=gtk_vbox_new(FALSE,0);
028.       box1=gtk_hbox_new(FALSE,0);
029.       box2=gtk_hbox_new(FALSE,0);
030.       box3=gtk_hbox_new(FALSE,0);
031.       box4=gtk_hbox_new(FALSE,0);
032. 
033. 
034.label=gtk_label_new("COME ON!!\nyou are the very man we`re looking for~~~~~");
035.       gtk_box_pack_start(GTK_BOX(box),label,FALSE,FALSE,5);
036.       gtk_label_set_justify(GTK_LABEL(label),GTK_JUSTIFY_CENTER);
037.       gtk_widget_show(label);
038.       
039.       label=gtk_label_new("   Username   ");
040.       gtk_box_pack_start(GTK_BOX(box1),label,FALSE,FALSE,0);
041.       gtk_widget_show(label);
042. 
043.       name=gtk_entry_new();
044.       gtk_box_pack_start(GTK_BOX(box1),name,FALSE,FALSE,0);
045.       gtk_widget_show(name);
046. 
047.       gtk_box_pack_start(GTK_BOX(box),box1,FALSE,FALSE,5);
048.        gtk_widget_show(box1);
049. 
050. label=gtk_label_new("    Gender      ");
051.       gtk_box_pack_start(GTK_BOX(box3),label,FALSE,FALSE,0);
052.       gtk_widget_show(label);
053. 
054.       combo=gtk_combo_new();
055.       glist=g_list_append(glist,"female" );
056.       glist=g_list_append(glist,"male" );
057.       gtk_combo_set_popdown_strings(GTK_COMBO(combo),glist);
058.       gtk_container_add(GTK_CONTAINER(box3),combo);
059.       gtk_widget_show(combo);
060. 
061.       gtk_box_pack_start(GTK_BOX(box),box3,FALSE,FALSE,5);
062.        gtk_widget_show(box3);
063. 
064.       label=gtk_label_new("E-mail Address");
065.       gtk_box_pack_start(GTK_BOX(box2),label,FALSE,FALSE,0);
066.       gtk_widget_show(label);
067. 
068.       mail=gtk_entry_new();
069.       gtk_box_pack_start(GTK_BOX(box2),mail,FALSE,FALSE,0);
070.       gtk_widget_show(mail);
071. 
072.       gtk_box_pack_start(GTK_BOX(box),box2,FALSE,FALSE,5);
073.        gtk_widget_show(box2);
074. 
075.        label=gtk_label_new("  Password  ");
076.       gtk_label_set_justify(GTK_LABEL(label),GTK_JUSTIFY_CENTER);
077.       gtk_box_pack_start(GTK_BOX(box4),label,FALSE,FALSE,5);
078.       gtk_widget_show(label);
079. 
080.       passwd=gtk_entry_new();
081.       gtk_entry_set_visibility(GTK_ENTRY(passwd),FALSE);
082.       gtk_box_pack_start(GTK_BOX(box4),passwd,FALSE,FALSE,5);
083.       gtk_widget_show(passwd);
084. 
085.        gtk_box_pack_start(GTK_BOX(box),box4,FALSE,FALSE,5);
086.        gtk_widget_show(box4);
087. 
088. button=gtk_check_button_new_with_label("agree to the Masher Terms and Conditions,\nPrivacy Policy and Code of Conduct");
089. gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,5);
090. gtk_widget_show(button);
091. 
092. 
093.        button=gtk_button_new_with_label("Sign up!");
094.        gtk_box_pack_start(GTK_BOX(box),button,TRUE,FALSE,5);
095.        gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(button_event),"********************\n*** successfull ***\n********************\n   welcome freshman   \n********************\n");
096.        gtk_widget_show(button);
097. 
098. 
099.  
100. gtk_entry_prepend_text(GTK_ENTRY(name),"Please input your name!");
101. gtk_entry_prepend_text(GTK_ENTRY(mail),"Please input your E-mail!");
102. 
103. label0=gtk_label_new("*\n* *\n*  *\n* * *   * * *\n *      * \n  *     *  \n   *******   \n");
104.       gtk_box_pack_end(GTK_BOX(box),label0,FALSE,FALSE,5);
105.       gtk_label_set_justify(GTK_LABEL(label0),GTK_JUSTIFY_CENTER);
106.       gtk_widget_show(label0);
107.     
108. 
109. 
110. gtk_container_add(GTK_CONTAINER(window),box);
111.        gtk_widget_show(box);
112. gtk_widget_show(window);
113. gtk_main();
114. return 0;
115.     }
116. 
117.void button_event(GtkWidget *widget,gpointer *data)
118.{
119.  gtk_label_set(GTK_LABEL(label0),(char*)data);
120.}

 

 


[火星人 ] GTK編程 註冊界面已經有458次圍觀

http://coctec.com/docs/program/show-post-71614.html