GTK+ 附加小部件全解析
在 GTK+ 开发中,有一些小部件在之前的学习里未被详细介绍。本文将详细讲解这些小部件,涵盖绘图、日历、状态图标、打印支持、最近文件管理以及自动完成等功能。
绘图小部件
GTK+ 提供了两个绘图相关的小部件:GtkDrawingArea 和 GtkLayout。
GtkDrawingArea
GtkDrawingArea 是一个空白的小部件,可在其 GdkWindow 对象上进行绘图。它只有一个非弃用函数gtk_drawing_area_new(),用于创建一个新的绘图区域。
GtkWidget* gtk_drawing_area_new ();使用时,只需运用之前章节介绍的绘图函数在其 GdkWindow 上绘图。由于它继承自 GtkWidget,所以能连接 GDK 事件,如realize、configure-event、expose-event以及按钮和鼠标点击事件。
以下是一个简单的绘图程序示例:
#include <gtk/gtk.h> #include <gdk/gdkkeysyms.h> static gboolean button_pressed (GtkWidget*, GdkEventButton*, GPtrArray*); static gboole