gtk+2.0 開發的一個對話方塊

來源:互聯網
上載者:User

#include<gtk/gtk.h>
static GtkWidget *credits_window;
GtkWidget *create_credits ()
{
  GtkWidget *window;
  GtkWidget *vbox,*hbox;
  GtkWidget *notebook,*button;
  GtkWidget *page,*viewport;
  GtkWidget *label,*text;
  GtkWidget *entry,*image;//個人資訊中的。
  GdkPixbuf *pixbuf;
  GtkTextBuffer *text_buffer;
 
  window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window),"kai fa ren yuan");
  vbox=gtk_vbox_new(FALSE,0);
  gtk_container_add(GTK_CONTAINER(window),vbox);
  notebook=gtk_notebook_new();
  gtk_box_pack_start(GTK_BOX(vbox),notebook,TRUE,TRUE,5);

   page=gtk_vbox_new(FALSE,0);
 
    viewport = gtk_viewport_new(NULL, NULL);
    gtk_box_pack_start(GTK_BOX(page), viewport, TRUE, TRUE, 5);
    text = gtk_text_view_new();
    gtk_container_add(GTK_CONTAINER(viewport), text);
    text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));

        hbox = gtk_hbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, FALSE, 5);
   

 
  label=gtk_label_new("瀏覽通知");
  gtk_notebook_append_page(GTK_NOTEBOOK(notebook),page,label);
//=================================================================================
  page=gtk_vbox_new(FALSE,0);
  viewport = gtk_viewport_new(NULL, NULL);
    gtk_box_pack_start(GTK_BOX(page), viewport, TRUE, TRUE, 5);
    text = gtk_text_view_new();
    gtk_container_add(GTK_CONTAINER(viewport), text);
    text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));

        hbox = gtk_hbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, FALSE, 5);
   
   
    button = gtk_button_new_with_label("確認請假");
    g_signal_connect(G_OBJECT(button), "clicked",
             G_CALLBACK(gtk_main_quit), NULL);//
    gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 5);
    button = gtk_button_new_with_label("    取消    ");
    g_signal_connect(G_OBJECT(button), "clicked",
        G_CALLBACK(gtk_main_quit), NULL);
    gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 5);
 

  label=gtk_label_new("申請請假");
  gtk_notebook_append_page(GTK_NOTEBOOK(notebook),page,label);

//=====================================================================================
  page=gtk_vbox_new(FALSE,0);
 // label=gtk_label_new("yu 1123/nhello,nice to meet you /n glad to see you again");
  hbox=gtk_hbox_new(FALSE,5);
  gtk_box_pack_start(GTK_BOX(page),hbox,FALSE,FALSE,0);
 
  viewport=gtk_viewport_new(NULL,NULL);
  gtk_container_add(GTK_CONTAINER(page),viewport);
  pixbuf=gdk_pixbuf_new_from_file("gnome-spider.png",NULL);
  image=gtk_image_new_from_pixbuf(pixbuf);
  gtk_container_add(GTK_CONTAINER(viewport),image);
  hbox=gtk_hbox_new(FALSE,5);
  gtk_box_pack_start(GTK_BOX(page),hbox,FALSE,FALSE,0);

  label=gtk_label_new("   學號:   ");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

  entry=gtk_entry_new();
  gtk_box_pack_start(GTK_BOX(hbox),entry,FALSE,FALSE,0);

  label=gtk_label_new("   姓名:   ");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

  entry=gtk_entry_new();
  gtk_box_pack_start(GTK_BOX(hbox),entry,FALSE,FALSE,0);

  hbox=gtk_hbox_new(FALSE,5);
  gtk_box_pack_start(GTK_BOX(page),hbox,FALSE,FALSE,0);

  label=gtk_label_new("   電話:   ");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

  entry=gtk_entry_new();
  gtk_box_pack_start(GTK_BOX(hbox),entry,FALSE,FALSE,0);
 
  label=gtk_label_new("   成績:   ");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

  entry=gtk_entry_new();
  gtk_box_pack_start(GTK_BOX(hbox),entry,FALSE,FALSE,0);

  hbox=gtk_hbox_new(FALSE,5);
  gtk_box_pack_start(GTK_BOX(page),hbox,FALSE,FALSE,0);

  label=gtk_label_new("請假次數:");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

  entry=gtk_entry_new();
  gtk_box_pack_start(GTK_BOX(hbox),entry,FALSE,FALSE,0);

  label=gtk_label_new("遲到次數:");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

  entry=gtk_entry_new();
  gtk_box_pack_start(GTK_BOX(hbox),entry,FALSE,FALSE,0);

  hbox=gtk_hbox_new(FALSE,5);
  gtk_box_pack_start(GTK_BOX(page),hbox,FALSE,FALSE,0);

  label=gtk_label_new("曠課次數:");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

  entry=gtk_entry_new();
  gtk_box_pack_start(GTK_BOX(hbox),entry,FALSE,FALSE,0);

  label=gtk_label_new("早退次數:");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

  entry=gtk_entry_new();
  gtk_box_pack_start(GTK_BOX(hbox),entry,FALSE,FALSE,0);

  hbox=gtk_hbox_new(FALSE,5);
  gtk_box_pack_start(GTK_BOX(page),hbox,FALSE,TRUE,0);

  label=gtk_label_new("獲獎情況:");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

  viewport=gtk_viewport_new(NULL,NULL);
  gtk_container_add(GTK_CONTAINER(hbox),viewport);
  text = gtk_text_view_new();
  gtk_container_add(GTK_CONTAINER(viewport), text);
  text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));

 hbox=gtk_hbox_new(FALSE,5);
  gtk_box_pack_start(GTK_BOX(page),hbox,FALSE,TRUE,0);

  label=gtk_label_new("處分情況:");
  gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
  viewport=gtk_viewport_new(NULL,NULL);
  gtk_container_add(GTK_CONTAINER(hbox),viewport);
  text = gtk_text_view_new();
  gtk_container_add(GTK_CONTAINER(viewport), text);
  text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));
 
  //gtk_box_pack_start(GTK_BOX(page),viewport,FALSE,FALSE,5);
  label=gtk_label_new("個人資訊");
  gtk_notebook_append_page(GTK_NOTEBOOK(notebook),page,label);
//============================================================
  page=gtk_vbox_new(FALSE,0);
 
    viewport = gtk_viewport_new(NULL, NULL);
    gtk_box_pack_start(GTK_BOX(page), viewport, TRUE, TRUE, 5);
    text = gtk_text_view_new();
    gtk_container_add(GTK_CONTAINER(viewport), text);
    text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));

        hbox = gtk_hbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, FALSE, 5);
   

 // gtk_box_pack_start(GTK_BOX(page),label,FALSE,FALSE,5);
  label=gtk_label_new("留言板");
  gtk_notebook_append_page(GTK_NOTEBOOK(notebook),page,label);
//=================================================================
  gtk_widget_show_all(window);
  return window;

}
void show_credits()
{
  credits_window=create_credits();
  gtk_widget_show(credits_window);

}
int main(int argc,char *argv[])
{
  GtkWidget *window;
  GtkWidget *bbox;
  GtkWidget *vbox;
  GtkWidget *label;
  GtkWidget *image;
  GtkWidget *sep;
  GtkWidget *button;
  gtk_init(&argc,&argv);
  window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
  g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);
  gtk_window_set_title(GTK_WINDOW(window),"about dialog");
  gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
  gtk_container_set_border_width(GTK_CONTAINER(window),10);

  vbox=gtk_vbox_new(FALSE,0);
  gtk_container_add(GTK_CONTAINER(window),vbox);
  image=gtk_image_new_from_file("gnome-spider.png");
  gtk_box_pack_start(GTK_BOX(vbox),image,FALSE,FALSE,5);
  label=gtk_label_new(NULL);
  gtk_label_set_markup(GTK_LABEL(label),"<span><big>GTK+2.0 shi li pian cheng</big></span>");
  gtk_box_pack_start(GTK_BOX(vbox),label,FALSE,FALSE,5);
  sep=gtk_hseparator_new();
  gtk_box_pack_start(GTK_BOX(vbox),sep,FALSE,FALSE,5);
  bbox=gtk_hbutton_box_new();
  gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox),GTK_BUTTONBOX_EDGE);

  gtk_box_pack_start(GTK_BOX(vbox),bbox,FALSE,FALSE,5);
  button=gtk_button_new_with_label("kai fa ren yuan");
  //  gtk_box_pack_start(GTK_BOX(vbox),button,FALSE,FALSE,5);
  g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(show_credits),NULL);
  gtk_box_pack_start(GTK_BOX(bbox),button,FALSE,FALSE,35);
  gtk_widget_show_all(window);
  gtk_main();
  return FALSE;
}

 

 

 

 

 

 

 

 

 

檔案名稱為:app.c

我是用emacs22-gtk 編譯的:

gcc -g -Wall -o app app.c `pkg-config --cflags --libs gtk+-2.0`

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.