Как стать автором
Обновить

Создаем приложение используя GTK в Линуксе

Разрабатывать приложения в Линуксе можно с помощью фреймворка GTK. Эта библиотека предназначенная для построения графического интерфейса пользователя. GTK — это свободное программное обеспечение, которое распространяется по лицензии GNU LGPL, что позволяет создавать как бесплатные так и коммерческие приложения.

С документациею и описанием библиотеки, Вы можете ознакомиться по следующей ссылке: https://www.gtk.org

Перед написанием приложения необходимо подготовить среду разработки. Для этих целей буду использовать ОС Ubuntu 22.04. Так как приложение будет разрабатываться на языке программирования Си необходимо установить необходимые пакеты и компилятор.

Откройте терминал от имени пользователя root и введите следующую команду:

sudo apt-get install build-essential

Также нам необходимо установить пакеты GTK для разработки приложения. Вводим следующую команду в терминале:

sudo apt-get install -y libgtk-3-dev

Теперь все готово для написания первого приложения. Открываем любой текстовый редактор и пишем следующий код:

#include <gtk/gtk.h>
int main (int argc, char *argv[])
{
	GtkWidget *window;
	gtk_init(&argc, &argv);
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_widget_show(window);
	gtk_main ();
	return 0;
}

Этот код создает окно. Но прежде чем выполнить приложение, давайте разберемся немного с кодом.
#include <gtk/gtk.h> - здесь мы подключаем библиотеку gtk. Без этой библиотеки не будет работать графическое окно и мы не сможем запустить приложение;
GtkWidget *window; - задаем имя/метку окна;
window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - эта строка создает стандартное окно с рамкой;
gtk_widget_show(window); - отображаем окно на дисплее.

Теперь давайте запустим приложение. Я сохранил код приложения в файле ex1.c в домашней папки.
Открывает терминал и вводим следующие команды:

gcc ex1.c -o ex1 `pkg-config --cflags --libs gtk+-3.0

./ex1

Теперь давайте улучшим код и создадим текстовую метку.

#include <gtk/gtk.h>

int main (int argc, char *argv[])
{
	GtkWidget *window;
	
	GtkWidget *label1;
	
	gtk_init(&argc, &argv);
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	
	label1 = gtk_label_new("Hello! My first Program");
	
	gtk_container_add(GTK_CONTAINER(window), label1);
	
	gtk_widget_show(label1);
	gtk_widget_show(window);
	gtk_main ();
	return 0;
}

GtkWidget *label1; - задаем имя текстовой метки;
label1 = gtk_label_new("Hello! My first Program"); - создаем текстовую метку;
gtk_container_add(GTK_CONTAINER(window), label1); - эта строка кода добавляет метку в контейнер;
gtk_widget_show(label1); - отображаем метку в окне.

Запускаем приложение

Надеюсь эта публикация была полезная. Так как фреймворк GTK имеет очень много полезных и интересных функций, что не дает возможности объяснить все в одной публикации.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.