|
|
This document is available in: English Castellano ChineseGB Deutsch Francais Italiano Nederlands Russian Turkce |
by Özcan Güngör <ozcangungor(at)netscape.net> ��������: ���������ڷ����ۣ������� Linux��Oracle ����Ա�� web ����Ա�� Ŀ¼: |
�� GTK ��д GUI ���� - 3ժҪ:
ͨ����ϵ�����£����ǽ�Ҫѧϰ����� GTK ��дͼ���û����� (GUI)�� ���Լ�Ҳ��֪��Ҫд�೤��Ϊ��������Щ���£� ����Ҫ֪����Щ C ����֪ʶ��
�� GTK ��д GUI ������ �� GTK ��д GUI ���� - 2�� ��Ϊ�����ڷ����ۣ����Ա���Ҫ���������½ڶ�һЩ�� |
�����ť����Ϻ���ͨ��ťһ��������������״̬�������»���û�б����¡� ���������������֮һ�������л���ť��
GtkWidget *toggle=gtk_toggle_button_new(void); GtkWidget *toggle=gtk_toggle_button_new_with_label(const gchar *label);
��һ������������һ��û�����ֱ�ǩ���л���ť��
���ǵڶ����������л���ť�����ַ��� label ��ǩ��
����������ĺ�������������״̬��
gtk_toggle_button_set_active (GtkToggleButton *toggle_button, gboolean is_active);
toggle_button ������ı�״̬�İ�ť�� is_active �ǰ�ť��״̬��0 �� 1���� ������ 0 ��ʱ�򣬰�ť���ܱ����£������� 1 ��ʱ�� ��ť���Ա����¡�
����ĺ��������õ���ť��״̬��
gboolean gtk_toggle_button_get_active(GtkToggleButton *button);
�л���ť��������һ�����л����¼���
���磺
#include <gtk/gtk.h> void togg(GtkWidget *widget, gpointer *data){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data))) g_print("State is 1\n"); else g_print("State is 0\n"); } int main( int argc,char *argv[] ) { GtkWidget *window; GtkWidget *button; gtk_init (&argc, &argv); /* Create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Toggle Button"); /* Connect destroy event to the window. */ gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); /* Creates a toggle button */ button=gtk_toggle_button_new_with_label("I'm a toggle button"); /* Add the button to window */ gtk_container_add(GTK_CONTAINER(window),button); /* Connect "toggled" event to the button */ gtk_signal_connect (GTK_OBJECT (button), "toggled", GTK_SIGNAL_FUNC(togg),(gpointer *)button); gtk_widget_show(button); gtk_widget_show (window); gtk_main (); return(0); }
��ѡ��ť��Ҳ������ѡ�����л���ť��һ�����ࡣ
��������ѡ��һЩѡ�
������ĺ���������ѡ��ť��
GtkWidget* gtk_check_button_new (void); GtkWidget* gtk_check_button_new_with_label (const gchar *label);
���ͺ��л���ťһ����
���磺
#include <gtk/gtk.h> void togg(GtkWidget *widget, gpointer *data){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data))) g_print("State is 1\n"); else g_print("State is 0\n"); } int main( int argc,char *argv[] ) { GtkWidget *window; GtkWidget *button; gtk_init (&argc, &argv); /* Create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Check Button"); /* Connect destroy event to the window. */ gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); /* Creates a check button */ button=gtk_check_button_new_with_label("I'm a check button"); /* Add the button to window */ gtk_container_add(GTK_CONTAINER(window),button); /* Connect "toggled" event to the button */ gtk_signal_connect (GTK_OBJECT (button), "toggled", GTK_SIGNAL_FUNC(togg), (gpointer *)button); gtk_widget_show(button); gtk_widget_show (window); gtk_main (); return(0); }
��ǩ�������ڴ��ڵ��κεط������ı���
������ĺ���������ǩ��
GtkWidget* gtk_label_new(const gchar *text);
ͨ������
gtk_label_set_text(GtkLabel *label, gchar *text);
��������κ�ʱ��ı��ǩ�ϵ��ַ�����
gtk_label_set_justify(GtkLabel *label, GtkJustification jtype);
gtk_label_set_justify �������������ǩ�ϵ��ı��� jtype ������
gtk_label_set_line_wrap (GtkLabel *label,gboolean wrap);
�������ǵ��ı��ȷ������Ŀռ䳤��ʱ�����ı����Ա��ָ��ܶ�Ρ� �� warp �� 1 ��ʱ���ı��ᱻ������һ�У�����Ͳ��ᡣ
gtk_label_get(GtkLabel *label, gchar **str)
�����õ���ǩ�ϵ��ı������Ҵ洢�� str �С�
������ʾ�ǵ�������ŵ�һ�����ڵ�С����������ֵ��ı��� ���磬����Ը���ť����һ����ʾ�����������Ƶ�����ͻ���֡�������Ϣ�����ı���
Ҫ������Щ��������ȴ���һ��С������
GtkToolTips* gtk_tooltips_new();
Ȼ��ѹ�����ʾ���ӵ����С�����ϣ�
gtk_tooltips_set_tip(GtkTooltips *tooltips, GtkWidget *widget, const gchar *tip_text,const gchar *tip_private);
һ��С���ӣ�
#include <gtk/gtk.h> int main( int argc,char *argv[] ) { GtkWidget *window; GtkWidget *button; GtkTooltips *tip; gtk_init (&argc, &argv); /* Create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Tooltips"); /* Connect destroy event to the window. */ gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); /* Creates a button */ button=gtk_button_new_with_label("I'm a Button"); /* Add the button to window */ gtk_container_add(GTK_CONTAINER(window),button); /* Creates a tooltips*/ tip=gtk_tooltips_new(); /* Attache this tooltips to button with text*/ gtk_tooltips_set_tip(tip, button, "Click me!",NULL); gtk_widget_show(button); gtk_widget_show (window); gtk_main (); return(0); }
���������
gtk_tooltips_enable (GtkTooltips *tooltips);
�������ʾ��
gtk_tooltips_disable (GtkTooltips *tooltips);
��ֹ������ʾ��
Ҫ�õ�һ��С�����Ĺ�����ʾ��������Ҫ
GtkTooltipsData* gtk_tooltips_get_data(GtkWidget *widget);
GtkTooltipsData ��һ�����µĽṹ��
struct _GtkTooltipsData { GtkTooltips *tooltips; GtkWidget *widget; gchar *tip_text; gchar *tip_private; GdkFont *font; gint width; GList *row; };�����ı����ֵ��ӳ٣�
gtk_tooltips_set_delay (GtkTooltips *tip, guint delay)
��Ͽ���һ���������б��Ŀ��Աà¼ï¿½ï¿½ï¿½Ä±ï¿½ï¿½ï¿½ ��ȿ����������ݣ�Ҳ���Դ������б���ѡ��һ�
������������һ����Ͽ�
GtkWidget *gtk_combo_new();
����������Ҫһ�� GList �ṹ��ѡ���б���
GList *glist=NULL;
�����������б�׷��ѡ��
GList *g_list_append(GList *list, gchar *option);
Ȼ�������б����ӵ���Ͽ���
gtk_combo_set_popdown_strings(GtkCombo *combo, GList *List);
��Ͽ��Ѿ�׼�����ˡ������ַ�����ȡ��ѡ�����Ŀ��
gchar *gtk_entry_get_text(GtkEntry *entry);
������GTK_ENTRY(GTK_COMBO(combo)->entry)) ���� entry��
gtk_combo_set_use_arrows(GtkCombo *combo,gint val);
��������������Ǽ�����߽�ֹ�ü����ϵ����¼���������Ͽ��ֵ�� ��� val �� 0����Щ���������ã�������Щ�����Ըı�ֵ�� ���������Ͽ��ֵ���б��е�ֵ����ͬ����Щ���Ͳ���������
gtk_combo_set_use_arrows_always(GtkCombo *combo,gint val);
��������� gtk_combo_set_use_arrows ��ͬ�� ���ǵ���Ͽ��ֵ���б��е�ֵ����ͬ����Щ��������������
gtk_combo_set_value_in_list(GtkCombo *combo, gboolean val, gboolean ok_if_empty);
���n val �� 1�����������һ���б��е�ֵ�� ��� ok_if_empty �� 1�����ֵ�����ǿ�ֵ��
#include <gtk/gtk.h> void act(GtkWidget *widget, gpointer *data){ g_print((gchar *)data); } int main( int argc,char *argv[] ) { GtkWidget *window; GtkWidget *combo; GtkWidget *button; GtkWidget *box; GList *list=NULL; list=g_list_append(list,"Slackware"); list=g_list_append(list,"RedHat"); list=g_list_append(list,"SuSE"); gtk_init (&argc, &argv); /* Create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Combo Box"); /* Connect destroy event to the window. */ gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); /* Create a new horizontal box */ box=gtk_hbox_new(1,0); gtk_container_add(GTK_CONTAINER(window),box); /* Creates a combo box */ combo=gtk_combo_new(); /* Sets the list */ gtk_combo_set_popdown_strings(GTK_COMBO(combo),list); /* Enables up/down keys change the value. */ gtk_combo_set_use_arrows_always(GTK_COMBO(combo),1); gtk_box_pack_start(GTK_BOX(box), combo,1,1,1); button=gtk_button_new_with_label("Write it"); gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(act), gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo)->entry))); gtk_box_pack_start(GTK_BOX(box), button,1,1,1); gtk_widget_show(box); gtk_widget_show(combo); gtk_widget_show(button); gtk_widget_show (window); gtk_main (); return(0); }��Ó���е����ۡ�
|
��ҳ��LinuxFocus�à¼ï¿½ï¿½Î¬ï¿½ï¿½
© Özcan Güngör, FDL LinuxFocus.org |
������Ϣ:
|
2004-03-14, generated by lfparser version 2.46