資源描述:
《gtk編程——對話框構(gòu)件、標(biāo)尺構(gòu)件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、一、對話框構(gòu)件對話框構(gòu)件非常簡單,事實上它僅僅是一個預(yù)先組裝了幾個構(gòu)件到里面的窗口。對話框的定義如下:structGtkDialog{GtkWindowwindow;GtkWidget*vbox;GtkWidget*action_area;};從上面可以看到,對話框只是簡單地創(chuàng)建一個窗口,并在頂部組裝一個GtkVBox,然后在GtkVBox中組裝一個分隔線,再加一個稱為“活動區(qū)”的GtkHBox。我們可以在該“活動區(qū)”添加一些按紐。對話框用gtk_dialog_new創(chuàng)建。1.名稱::gtk_dial
2、og_new功能:創(chuàng)建對話框構(gòu)件頭文件:#include函數(shù)原形:GtkWidget*gtk_dialog_new(void);參數(shù):無返回值:新的對話框構(gòu)件#includevoidbutton_event(GtkWidget*widget,gpointer*data);voiddestroy(GtkWidget*widget,gpointer*data);intmain(intargc,char*argv[]){GtkWidget*window;GtkWi
3、dget*button;gtk_init(&argc,&argv);window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_signal_connect(GTK_OBJECT(window),”destroy”,G_CALLBACK(gtk_main_quit),NULL);button=gtk_button_new_with_label(“Exit”);gtk_container_add(GTK_CONTAINER(window),button);gtk_sig
4、nal_connect(GTK_OBJECT(button),”clicked”,G_CALLBACK(button_event),NULL);gtk_widget_show(button);gtk_widget_show(window);gtk_main();}voidbutton_event(GtkWidget*widget,gpointer*data){GtkWidget*button;GtkWidget*dialog;dialog=gtk_dialog_new();button=gtk_but
5、ton_new_with_label(“Yes”);gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),button,TRUE,TRUE,0);gtk_signal_connect(GTK_OBJECT(button),”clicked”,G_CALLBACK(gtk_main_quit),NULL);gtk_widget_show(button);button=gtk_button_new_with_label(“No”);gtk_
6、box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),button,TRUE,TRUE,0);gtk_signal_connect(GTK_OBJECT(button),”clicked”,G_CALLBACK(destroy),dialog);gtk_widget_show(button);gtk_widget_show(dialog);}voiddestroy(GtkWidget*widget,gpointer*data){gtk_widg
7、et_destroy(GTK_WIDGET(data));}程序運行后會得到如下界面:當(dāng)用戶點擊按紐會得到如下對話框。如果用戶電擊Yes程序退出,如果用戶點擊No對話框消失。二、標(biāo)尺構(gòu)件標(biāo)尺構(gòu)件(GtkRuler)一般用于在給定窗口中指示鼠標(biāo)指針的位置。一個窗口可以有一個橫跨整個窗口寬度的水平標(biāo)尺和一個占據(jù)整個窗口高度的垂直標(biāo)尺。標(biāo)尺上有一個小三角形的指示器標(biāo)出鼠標(biāo)指針相對于標(biāo)尺的精確位置。有兩種標(biāo)尺構(gòu)件:GtkHRuler(水平)和GtkVRuler(垂直)。用gtk_hruler_new創(chuàng)建水平標(biāo)
8、尺構(gòu)件,用gtk_vruler_new創(chuàng)建垂直標(biāo)尺構(gòu)件。2.名稱::gtk_hruler_newgtk_vruler_new功能:創(chuàng)建標(biāo)尺構(gòu)件頭文件:#include函數(shù)原形:GtkWidget*gtk_hruler_new(void);/*水平標(biāo)尺*/GtkWidget*gtk_vruler_new(void);/*垂直標(biāo)尺*/參數(shù):無返回值:新的標(biāo)尺構(gòu)件3.名稱::gtk_ruler_set_metric功能:設(shè)置標(biāo)尺構(gòu)件的度