《GTK培训教程》课件.ppt
*************************************创建菜单栏GtkWidget*menubar=gtk_menu_bar_new();
使用gtk_menu_bar_new()函数创建一个新的菜单栏控件。添加菜单项GtkWidget*filemenuitem=gtk_menu_item_new_with_label(文件);
gtk_menu_bar_append(GTK_MENU_BAR(menubar),filemenuitem);
使用gtk_menu_item_new_with_label()函数创建一个新的菜单项控件,使用gtk_menu_bar_append()函数将它添加到菜单栏中。快捷键设置gtk_widget_add_accelerator(filemenuitem,activate,
gtk_accelerator_get_default(q),
GTK_ACCEL_VISIBLE,GTK_RESPONSE_ACCEPT);
使用gtk_widget_add_accelerator()函数为菜单项添加快捷键。参数GTK_ACCEL_VISIBLE指定快捷键在菜单中可见。工具栏创建工具栏使用gtk_toolbar_new()函数创建一个新的工具栏控件。添加工具栏按钮使用gtk_toolbar_insert_widget()函数将按钮控件添加到工具栏中。创建工具栏GtkWidget*toolbar=gtk_toolbar_new();
使用gtk_toolbar_new()函数创建一个新的工具栏控件。添加工具栏按钮gtk_toolbar_insert_widget(GTK_TOOLBAR(toolbar),button,
-1,GTK_TOOLBAR_ITEM_EXPAND,按钮标签,NULL);
使用gtk_toolbar_insert_widget()函数将按钮控件添加到工具栏中。参数-1表示将按钮插入到工具栏的末尾。事件处理鼠标事件鼠标事件包括单击、双击、移动、滚动等事件。键盘事件键盘事件包括按键按下、按键释放、字符输入等事件。窗口事件窗口事件包括窗口显示、窗口隐藏、窗口关闭等事件。鼠标事件g_signal_connect(button,button-press-event,G_CALLBACK(button_clicked),NULL);
使用g_signal_connect()函数连接按钮控件的button-press-event信号,当按钮被点击时,会调用button_clicked()函数。键盘事件g_signal_connect(window,key-press-event,G_CALLBACK(key_pressed),NULL);
使用g_signal_connect()函数连接窗口的key-press-event信号,当键盘按键被按下时,会调用key_pressed()函数。窗口事件g_signal_connect(window,destroy,G_CALLBACK(gtk_main_quit),NULL);
使用g_signal_connect()函数连接窗口的destroy信号,当窗口被关闭时,会调用gtk_main_quit()函数来退出程序。定时器GSource*timer=g_timeout_add(1000,(GSourceFunc)update_label,NULL);
使用g_timeout_add()函数创建一个新的定时器,参数1000指定定时器的时间间隔为1秒。定时器会每隔1秒调用一次update_label()函数。GDK绘图绘图基础GDK提供了用于绘制图形的API,包括线条、矩形、圆形和文本等。绘制线条使用gdk_draw_line()函数绘制一条线段。绘制矩形使用gdk_draw_rectangle()函数绘制一个矩形。绘制圆形使用gdk_draw_arc()函数绘制一个圆形或椭圆形。绘图基础cairo_t*cr=gdk_cairo_create(widget-window);
使用gdk_cairo_create()函数创建一个Cairo绘图上下文,它可以用于绘制各种图形。绘制线条cairo_move_to(cr,10,10);
cairo_lin