TPM 程序设计基础 3-1 :g_signal_connect() 函数
前言
GTK3 可利用信号/回调函数机制来处理窗口外部传来的事件、消息或信号。
对应的函数为:g_signal_connect()
。
g_signal_connect()
函数原型
复制gulong g_signal_connect
(
gpointer *object,
const gchar *name,
GCallback func,
gpointer func_data
);
参数说明
-
gpointer *object
:连接信号控件的指针(连接的对象),要作用到的实例,如想要操作的窗口、按钮等。 -
const gchar *name
:信号名称。课设程序中只用到的信号名称:
"activate"
:初始化时发送到信号。"clicked"
:触发时,常用于自定义按钮。"delete_event"
:用于点击窗口右上角的关闭按钮,关闭窗口时。
-
GCallback func
:回调函数。-
一般要求的回调函数格式:
复制
static void <函数名> (GtkWidget *button , gpointer data) { ...... }
-
-
gpointer func_data
:传递给回调函数的参数,传递给上述格式中的 `` 参数。由于它的数据类型是 `` ,无法直接与 C 语言默认数据类型比较。
GTK3 提供了整型与指针类型间转换的宏:
复制
GINT_TO_POINTER(a):将int型转换成gpointer类型 GPOINTER_TO_INT(a):将gpointer类型转换成int型 GUINT_TO_POINTER(a):将uint类型转换成gpointer类型 GPOINTER_TO_UINT(a):将gpointer类型转换成整型
- 更多请参阅:glib 简介 。
作者:Yogile
出处:https://www.cnblogs.com/Yogile/p/12809530.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
分类:
《可信计算基础》
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构