zoukankan      html  css  js  c++  java
  • lgob函数调用分析

    由于lgob没有文档,很多时候不知道如何使用,不过作者提供一些例子,而且lgob的函数名和原C的

    函数名类似,遇到不懂的查看一下例子和gtk的参考文档都可以解决.

    1.部件的使用. lgob的部件名去掉了原C中的Gtk前缀,通过gtk"类",new()函数创建.
    C代码
    GtkWidget *window;
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    lgob代码
    window = gtk.Window.new(gtk.GTK_WINDOW_TOPLEVEL)

    2.常量的使用.比原C要多加上"gtk." ,如上例中的gtk.GTK_WINDOW_TOPLEVEL

    3.部件属性设置 如窗口的属性设置
    C代码
    gtk_window_set_default_size(window,400,300);
    gtk_window_set_title(window,"gtk窗口");
    gtk_window_set_position(window,GTK_WIN_POS_CENTER);

    lgob代码,非常简洁,而且属性的顺序可以颠倒
    window:set("title","lgob测试","default-width",400,"default-height",300,
    "window-position",gtk.WIN_POS_CENTER)

    注意带有"GTK_"前缀的,"GTK_"前缀要去掉.如GTK_WIN_POS_CENTER变为
    gtk.WIN_POS_CENTER. 属性的查找方式如图:
    如查找GtkWidow的属性,打开devhelp后,点击"Properties"可以看到各种属性,及其取值



    对于没有"Properties"的属性,如 gtk_window_set_screen()
    直接使用window:set_screen()

    4.信号及回调函数,如上图,点击“signal”可以看到当前部件可用的信号。
    C代码
    // 产生信号的部件 信号名称 回调函数 信号附带的数据
    g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(sayHello), "你好");

    lgob代码,不需要"产生信号的部件"
    -- 信号名称 回调函数 信号附带的数据
    button:connect("clicked",sayHello,"你好")

    两者"信号附带的数据"都可以为空,C语言设为NULL ,lua中直接不写.

    5.gtk相关的库
    与c类似,也需要额外的引入语句,如要显示带图标的按钮
    require('lgob.gdk')

    6.内部图标命名

    使用stock可以创建带有图标的部件如

    new_from_stock("gtk-quit") --从stock创建
    --在devhelp中搜索stock items 可以看到各种stock,lgob的命名只是把"GTK_STOCK_XXX"换成了"gtk-xxx"


    总结,lgob与Gtk的C API非常类似,而且要简洁,还有很多时候要把"GTK_"换成"gtk."
    由于我也只是看了一点,有误之处敬请指正!



    作者:半山
    出处:http://www.cnblogs.com/xdao/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    asp.net 数据导出到Excel
    系统架构之畅想
    access2003绿色中文版(转)
    项目那点事(共享)
    不错的消息提示
    配置Windows media service 流媒体服务器
    MemberShip 数据库的安装,web.config的配置及数据库文档结构
    windows server 2003 service pack 2 无法安装...产品密钥可能无效
    残忍,人
    js小技巧鼠标滑过显示大图
  • 原文地址:https://www.cnblogs.com/xdao/p/lgob_analysis.html
Copyright © 2011-2022 走看看