Перші кроки [Vala + Gtk 3]: Привіт Світ !!

У цьому маленькому посібнику ми побачимо, як зробити перші кроки з Vala та GTK3. Давайте розпочнемо:

Встановлення необхідних інструментів

sudo apt-get install valac libgtk-3-dev

IDE:

Ми можемо знайти безліч редакторів, які ми можемо використовувати / налаштувати як IDE. Прикладом їх є Подряпина, SublimeText, Geany ... У моєму випадку я буду використовувати Scratch (яку ми можемо знайти в елементарних ос).

Подряпина

Давайте побачимо типовий приклад Hello World!, Який буде таким:

Захоплення з 2013-10-31 23:33:12

І код буде виглядати так:

Захоплення з 2013-10-31 23:34:48

Тепер давайте подивимося деталі коду. У нас є клас, який є вікном Gtk.

# Ініціалізуємо Gtk аргументами Gtk.init (ref args); # Ми створюємо додаток. Додаток програми = новий додаток (); # Програму розміщуємо в центрі екрана. app.window_position = Gtk.WindowPosition.CENTER; # При закритті ми знищуємо додаток. app.destroy.connect (Gtk.main_quit); # Вимірюємо вікно app.set_default_size (100, 50); # Ми створюємо кнопку та підключаємо подію натискання кнопки та друкуємо привіт! кнопка var = new Gtk.Button.with_label ("Скажи привіт"); button.clicked.connect (() => {print ("Привіт! \ n");}); # Додати кнопку в додаток app.add (кнопка); # Ми показуємо додаток / вікно 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. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   pandev92 - сказав він

    Проблема відсутності ідеї для малювання вікон полягає в тому, що ви повинні знати всі методи класу, щоб створити вікно, щось примітивне, насправді.

    1.    нюансований - сказав він

      Якби ви добре виконали свою роботу на етапі проектування, у вас не було б причин використовувати IDE під час програмування.

      1.    pandev92 - сказав він

        Ви мене не зрозуміли, я говорю про те, що у вас є ідея, яка зробить це за вас, вікна, без принципового введення коду:

        http://imagebin.org/275532

        Це позбавляє вас від знання методу роботи кнопки тощо

        1.    маріаногаудікс - сказав він

          За допомогою IDE ви лише економите час …… Але якщо говорити про функціональність при використанні IDE або терміналу при компіляції, вони обидва виконують однакові функції.
          Це питання смаку та комфорту.

        2.    артрус - сказав він

          Ну у вас є Поляна (https://glade.gnome.org/), є інструментом RAD, який дозволяє швидко проектувати вікна додатків простими клацаннями миші.

          Після створення інтерфейсу він генерує файл у форматі xml, який ви можете викликати з мов програмування, таких як C, C ++, Python, Perl, Vala, Java тощо.

          Сподіваюся, це відповідає на ваше запитання.

        3.    лолбімбо - сказав він

          Якщо існує ідея, яка об’єднує розробника вікон, Anjuta IDE.

  2.   Хуан Пабло - сказав він

    Привіт Лолбімбо:
    Деякий час тому я вирішив використовувати Vala як свою основну мову перед D та Golang з x причин, але я застряг у проблемі - коді, який я дуже добре скомпілював, але тепер я отримую таку помилку:

    /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-proglaси]
    g_type_init();

    якщо це занадто багато проблем, я зрозумію, заздалегідь дякую і вітаю в блозі.

    1.    лолбімбо - сказав він

      Привіт, друже, я починаю з vala, але передай мені код, який ти маєш у рядку 155, у будь-якому випадку це попередження, а не помилка; якщо це працює для тебе, нічого не відбувається, оскільки це може бути помилка vala.

      1.    Хуан Пабло - сказав він

        Привіт Лолімбо, я відзначаю твій ентузіазм, оскільки я почувався самотньо в Валі, насправді помилка дає мені будь-який простий код, такий як: використання Gtk;

        int main (рядок [] args) {
        Gtk.init (посилання на аргументи);

        var window = нове вікно ();
        window.title = "Перша програма GTK +";
        window.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 ("Клацніть на мене!");
        button.clicked.connect (() => {
        button.label = "Дякую";
        });
        try {
        // Або безпосередньо з файлу ...
        window.icon = new Gdk.Pixbuf.from_file ("my-app.png");
        // ... або з теми
        window.icon = IconTheme.get_default () .load_icon ("my-app", 48, 0);
        } catch (Помилка e) {
        stderr.printf ("Не вдалося завантажити піктограму програми:% s \ n", напр. повідомлення);
        }
        window.add (кнопка);
        window.show_all();

        Gtk.main();
        0 повернутися;
        }

        Але між роботою з Windows і вдома я не даю собі часу на виявлення помилки, мені здається, це проблема з версіями vala, я не знаю.

        1.    лолбімбо - сказав він

          Оновлення vala має видалити попередження.

  3.   урібеси - сказав він

    Підручник добре розтлумачений, і мені це подобається, лише те, що я завжди дивувався, чому завжди починати з програми "hello world", для початківців це було б непогано, але що з тих, хто вже має досвід програмування? Чому б не вказати, як зробити інтерфейс з кількома елементами (кнопки, мітки тощо)?

    Мені подобається Вала, і я хочу навчитися цьому, але було б більш конструктивно починати трохи більше "в проміжку", так?

    1.    лолбімбо - сказав він

      Незабаром ще одна посада з середнім рівнем.

  4.   Хуанра20 - сказав він

    Java?

    Гарний підручник добре пояснений, і все насправді змусило мене задуматися про включення vala та gtk до мого списку для вивчення.

  5.   -ік- - сказав він

    Чудово, зараз я пропоную навчальний посібник Seed (javascript) + Gtk, це було б досить цікаво, оскільки це офіційний варіант, який обрав проект Gnome.