GTK+ представляет собой кроссплатформенную библиотеку элементов интерфейса, которая позволяет создавать программы с графическим интерфейсом. GTK+ написана на языке Си. Но, благодаря своей внутренней архитектуры, библиотека портирована и на другие популярные языки программирования.
Уже несколько лет я присматриваюсь к GTK+, накопил немного опыта и постараюсь с ним поделиться на страницах этого блога. Начну с первых шагов: как скомпилировать программу с использованием GTK+ в Ubuntu.
Первым шагом установим необходимые пакеты для программирования. Это
Одним из начальных шагов в программировании является выбор текстового редактора с подсветкой синтаксиса (или интегрированной среды разработки, IDE). Ассортимент довольно широкий: geany, gedit, kate, vim, emacs... Здесь каждый сам выбираем, на свой вкус и цвет. Мой же выбор остановился на легковестной IDE "geany".
По традиции первая программа — "Hello World!". Текст данной программы возьмём со страницы русскоязычной Википедии по GTK+. И добавив строчку с командой указания размера окна по умолчанию, получаем:
Сохраняем программу в файл с именем
Компилировать будем в терминале. В Unity терминал можно открыть горячими клавишами
Для просмотра содержания директории используется команда
Находясь в папке с файлом
При отсутствии ошибок, компиляция пройдёт успешно и у вас появится исполняемый файл
Уже несколько лет я присматриваюсь к GTK+, накопил немного опыта и постараюсь с ним поделиться на страницах этого блога. Начну с первых шагов: как скомпилировать программу с использованием GTK+ в Ubuntu.
Первым шагом установим необходимые пакеты для программирования. Это
build-essential
и libgtk-3-dev
. Остальные нужные пакеты подтянутся по зависимостям. Установить их можно командой в терминале:sudo apt install build-essential libgtk-3-dev
Одним из начальных шагов в программировании является выбор текстового редактора с подсветкой синтаксиса (или интегрированной среды разработки, IDE). Ассортимент довольно широкий: geany, gedit, kate, vim, emacs... Здесь каждый сам выбираем, на свой вкус и цвет. Мой же выбор остановился на легковестной IDE "geany".
По традиции первая программа — "Hello World!". Текст данной программы возьмём со страницы русскоязычной Википедии по GTK+. И добавив строчку с командой указания размера окна по умолчанию, получаем:
/* Подключаем библиотеку GTK+ */
# include <gtk/gtk.h>
int main( int argc, char *argv[])
{
/* Объявляем виджеты */
GtkWidget *label; // Метка
GtkWidget *window; // Главное окно
/* Инициализируем GTK+ */
gtk_init(&argc, &argv);
/* Создаем главное окно */
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* Устанавливаем заголовок окна "Здравствуй, мир!" */
gtk_window_set_title(GTK_WINDOW(window), "Здравствуй, мир!");
/* Создаем метку с текстом "Здравствуй, мир!" */
label = gtk_label_new("Здравствуй, мир!");
/* Задание размера окна по умолчанию */
gtk_window_set_default_size (GTK_WINDOW (window), 300, 100);
/* Вставляем метку в главное окно */
gtk_container_add(GTK_CONTAINER(window), label);
/* Показываем окно вместе с виджетами */
gtk_widget_show_all(window);
/* Соединяем сигнал завершения с выходом из программы */
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
/* Приложение переходит в вечный цикл ожидания действий пользователя */
gtk_main();
return 0;
}
Сохраняем программу в файл с именем
hello.c
Компилировать будем в терминале. В Unity терминал можно открыть горячими клавишами
<ctrl>
+ <alt>
+ <T>
. В терминале с помощью команды cd
переходим в директорию, куда сохранили hello.c
. Если файл лежит в директории ~/Study/gtk3
, то команда будет:cd ~/Study/gtk3
Для просмотра содержания директории используется команда
ls
.Находясь в папке с файлом
hello.c
, компилирование выполняется командой:gcc -Wall `pkg-config --cflags gtk+-3.0` -o hello hello.c `pkg-config --libs gtk+-3.0`
При отсутствии ошибок, компиляция пройдёт успешно и у вас появится исполняемый файл
hello
. Запустить который можно командой:./hello
![]() | |
Программа Hello World на GTK+ 3 |