自定义小部件创建指南
在开发过程中,我们常常需要创建自定义的小部件来满足特定的需求。本文将通过几个示例,详细介绍如何创建自定义小部件,包括从现有小部件派生新的小部件、从头开始创建小部件以及实现和使用自定义接口。
从现有小部件派生新小部件 - MyIPAddress
从现有小部件派生新小部件是一种常见的方法,下面以创建MyIPAddress小部件为例进行说明。
创建 MyIPAddress 头文件
创建头文件是派生任何类型的 GObject 的第一步。头文件用于设置每个对象所需的基本函数调用,同时也是规划小部件的好地方。为了兼容 C++ 编译器,需要使用G_BEGIN_DECLS和G_END_DECLS来括住头文件的内容。
#ifndef __MY_IP_ADDRESS_H__ #define __MY_IP_ADDRESS_H__ #include <glib.h> #include <glib-object.h> #include <gtk/gtkentry.h> G_BEGIN_DECLS ... G_END_DECLS #endif /* __MY_IP_ADDRESS_H__ */同时,需要为每个新小部件定义五个宏,这些宏遵循 GObject 使用的标准命名方案,使对象继承更加简单。
#define MY_IP_ADDRESS_TY