Поиск по блогу

среда, 25 мая 2011 г.

Создание графической программы (Встроенный)

Введение

О библиотеках. Необходимой областью имён (namespace) будет Gtk. Для добавления нового пространства имён надо использовать команду "using".


Пример Кода

Сам код примера, после кода я объясню кратенько что, да как.

GUISimple1.vala

using Gtk;

public class GUISimple1 {
private static void action_function(Button source) {
// Задаём новое название кнопке
source.label = "Кнопка была нажата";
}

public static int main(string[] args) {
// Инициализация GTK
Gtk.init (ref args);

// Создание переменной-окна
var window = new Window(WindowType.TOPLEVEL);
// Задаём заголовок окна
window.title = "Программа, Програмочка моя";
// Задаём размер окна
window.set_default_size (300, 50);
// Задаём положение на экране
window.position = WindowPosition.CENTER;
// Эта строка задаёт выключение программы по нажати на "выход"
window.destroy.connect(Gtk.main_quit);

// Создаём переменную-кнопку
var button = new Button.with_label("Нажмите, Или не жмите... Как хотите :)");
// Задаём функцию, которая будет выполнятся по нажати на кнопку
button.clicked.connect(action_function);

// Вставляем кнопку в окно, важно: в один контейнер можно вставить только один объект
window.add(button);
// Показать окно
window.show_all();

// Цикл GTK
Gtk.main();

return 0;
}
}


Разбор полётов

using - Это команда добавления пространства имён, эквивалент в "Java" - "import".

Gtk - Это название пространства имён которое будет нам нужно для создания окон (Присоединение библиотеки Gtk+-3.0).

Button - Это название класса-кнопки.

Gtk.init (ref args) - Эта строка с функцией инициализацией библиотеки GTK. (Подготовка к использованию библиотеки GTK).

var window = new Window(WindowType.TOPLEVEL) - Эта строка создаёт переменную с окном (С самыми простыми параметрами).

window.destroy += Gtk.main_quit - Эта строка указывает - какая функция должна выполняться при событии "destroy" (Это событие происходит при закрытие окна). Здесь " += " - это специальный оператор который означает "подключение", то есть с помощью него вы указываете имя функции которую хотите использовать по происхождении сего события. Важно не писать скобочек после указания имени функции (Здесь происходит делегирование функции).

var button = new Button.with_label("Нажмите, Или не жмите... Как хотите :)") - Создание кнопки с названием.

window.add(button) - Вставляем созданную кнопку в окно

window.show_all() - Функция, при выполнении которой появляется окно.

Gtk.main() - Запуск основного цикла окна (Необходимо использовать как аксиому)


Умозаключения

Для компиляции программы нужно использовать пакет gtk+-3.0.
Компиляция: "valac --pkg gtk+-3.0 GUISimple1.vala"

2 комментария:

  1. В свете новых решений парти:

    window.destroy.connect(Gtk.main_quit);

    button.clicked.connect(action_function);

    ибо компайлер пишет, что += есть деприкейтед

    vala-0.14.2-3.fc16

    ОтветитьУдалить
    Ответы
    1. Спасибо большое! Да, я скоро обновлю статьи, есть много новых изменений которые стоит учесть, следуя тому что появились библиотеки gtk+-3.0.
      Ещё раз спасибо!

      Удалить