zoukankan      html  css  js  c++  java
  • 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类型转换成整型
      
  • 相关阅读:
    iOS-申请开发证书流程
    iOS-代理
    进程和线程
    iOS单例模式
    Switch语句
    枚举类型
    程序的三种结构
    运算符
    Swift项目开发中的一些必备数据
    Swift开发中常用的一些图片处理方法
  • 原文地址:https://www.cnblogs.com/Yogile/p/12809530.html
Copyright © 2011-2022 走看看