第一步[Vala + Gtk 3]:世界您​​好!

我们将在这个小教程中看到如何使用Vala和GTK3迈出第一步。 让我们开始吧:

安装必要的工具

sudo apt-get install valac libgtk-3-dev

IDE:

我们可以找到各种各样的编辑器,可以使用它们/将其配置为IDE。 他们的例子是 , 崇高文本, Geany …就我而言,我将使用Scratch(我们可以在基本操作系统中找到)注册公司

刮

让我们看一下Hello World!的典型示例,如下所示:

从2013-10-31 23:33:12捕获

并且代码如下所示:

从2013-10-31 23:34:48捕获

现在让我们看一下代码的细节。 我们有一个类,它是一个Gtk窗口。

#我们使用参数Gtk.init(ref args)初始化Gtk; #我们创建应用程序。 应用程序app =新应用程序(); #我们将应用程序放置在屏幕中央。 app.window_position = Gtk.WindowPosition.CENTER; #关闭时,我们会销毁该应用程序。 app.destroy.connect(Gtk.main_quit); #我们测量窗口app.set_default_size(100,50); #我们创建一个按钮并连接按钮单击事件并打印一个问候! var button = new Gtk.Button.with_label(“问好”); button.clicked.connect(()=> {print(“ Hello!\ n”);}); #将按钮添加到应用程序app.add(按钮); #我们显示App / Window app.show_all();

通过单击按钮,我们将得到如下输出:

从2013-10-31 23:35:58捕获

我们编译并执行:

$ valac -v lol.vala –pkg gtk + -3.0 $ ./lol

现在,我给您留下一些有趣的链接:

http://elementaryos.org/docs/code/the-basic-setup


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   潘德夫92

    没有绘制窗口的想法的问题在于,您必须了解创建窗口的类的所有方法,实际上是一种原始方法。

    1.    细微的

      如果您在设计阶段做得很好,那么在编程时就没有理由使用IDE。

      1.    潘德夫92

        您不了解我,我是说有一个想法可以在Windows中为您完成,而无需原则上键入代码:

        http://imagebin.org/275532

        这使您不必知道按钮的方法是什么,等等

        1.    马里亚诺高迪克斯

          使用IDE只会节省时间……但是,如果我们谈论使用IDE或编译时使用的TERMINAL时的功能,它们都实现相同的功能。
          这是口味和舒适性的问题。

        2.    阿图斯

          好吧,你有Glade(https://glade.gnome.org/),这是一种RAD工具,可让您通过单击鼠标快速设计应用程序窗口。

          创建接口后,它将生成xml格式的文件,您可以从诸如C,C ++,Python,Perl,Vala,Java等编程语言中调用该文件。

          我希望这回答了你的问题。

        3.    洛宾博

          如果有集成窗口创建器的想法,请使用Anjuta IDE。

  2.   胡安 - 帕布洛

    你好Lolbimbo:
    前段时间,出于x的原因,我决定在D和Golang之前使用Vala作为主要语言,但是我陷入了一个问题,即我已经很好地编译了代码,但是现在出现以下错误:

    /media/…/vala/nn.vala.c:在函数“ main”中:
    /media/…/vala/nn.vala.c:155:2:警告:不建议使用“ g_type_init”(在/usr/include/glib-2.0/gobject/gtype.h:669声明)[-Wdeprecated-declarations]
    g_type_init();

    如果麻烦太多了,我会理解的,在此先感谢并祝贺博客。

    1.    洛宾博

      您好朋友,我从vala开始,但是将您在线155上的代码传递给我,无论如何,这是一个警告,而不是错误,如果它对您有用,那么什么都不会发生,因为它可能是vala错误。

      1.    胡安 - 帕布洛

        您好Lolimbo,我很高兴您的热情,因为我在vala中感到孤独,实际上,错误使我的代码变得简单如:使用Gtk;

        int main(字符串[] args){
        Gtk.init(ref args);

        var window = new Window();
        window.title =“第一个GTK +程序”;
        窗口.border_width = 10;
        window.window_position = WindowPosition.CENTER;
        window.set_default_size(350,70);
        window.destroy.connect(Gtk.main_quit);

        var button = new Button.with_label(“ Click me!”);
        button.clicked.connect(()=> {
        button.label =“谢谢”;
        });
        尝试{
        //直接来自文件
        window.icon =新的Gdk.Pixbuf.from_file(“ my-app.png”);
        // ...或从主题
        window.icon = IconTheme.get_default().load_icon(“ my-app”,48,0);
        } catch(错误e){
        stderr.printf(“无法加载应用程序图标:%s \ n”,e.message);
        }
        window.add(按钮);
        window.show_all();

        Gtk.main();
        0返回;
        }

        但是在使用Windows和在家中工作之间,我没有时间寻找错误,在我看来,这是vala版本的问题,我不知道。

        1.    洛宾博

          更新vala应该删除警告。

  3.   尿布

    教程讲得很好,我很喜欢,只是我一直想知道,为什么总是从“ hello world”程序开始,对于初学者来说就可以了,但是那些已有编程经验的人呢? 为什么不说明如何使用多个元素(按钮,标签等)制作一个界面?

    我喜欢Vala并且想学习它,但是在“之间”开始更多一点会更具建设性,对吗?

    1.    洛宾博

      不久之后便是另一个中级职位。

  4.   胡安拉20

    Java的?

    很好的教程进行了很好的解释,实际上所有内容使我考虑将vala和gtk放在我的学习列表中。

  5.   -我知道-

    太好了,现在我建议使用Seed(javascript)+ Gtk教程,这将非常有趣,因为这是Gnome项目选择的正式选项。