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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    1,300萬像素Xperia TX K.O.相機 東方日報
    信息检索Reading List
    雷军:小米二为何不用1300万像素相机_TechWeb
    1300万像素高清双核旗舰 索尼LT30p评测_手机_科技时代_新浪网
    Darts: DoubleARray Trie System海 的 声音我的搜狐
    说说底层架构之实体类的设计
    不忘本~枚举
    两种底层数据层操作时的架构方式,你喜欢那种?
    说说C#中的global
    JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
  • 原文地址:https://www.cnblogs.com/xdao/p/lgob_analysis.html
Copyright © 2011-2022 走看看