Читайте также:
|
|
Между разработкой с помощью такого полностью интегрированного инструмента как Kylix и разработкой с помощью автономных редакторов и компиляторов есть существенная разница.
Рассмотрим, к примеру, простое приложение, которое выводит на экран кнопку с надписью "!". С помощью Kylix или C++Builder это можно сделать с использованием IDE (интегрированная среда разработки), вообще не создавая кода.
Создание такой кнопки столь же просто, как выбор соответствующего события в Object Inspector и ввод кода.
А использовать для этого графическую библиотеку вроде GTK сложнее. Вот примерный код на языке C для создания подобной программы:
#include <gtk/gtk.h>
/* Callback function. */
void hello(GtkWidget *widget,
gpointer data)
{
g_print ("");
}
gint delete_event(GtkWidget *widget,
GdkEvent *event,
gpointer data)
{
g_print ("delete event occurred\n");
return TRUE;
}
/* Another callback */
void destroy(GtkWidget *widget,
gpointer data)
{
gtk_main_quit ();
}
int main(int argc,
char *argv[])
{
GtkWidget *window;
GtkWidget *button;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (G_OBJECT (window), "delete_event",
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER
(window), 10);
button = gtk_button_new_with_label ("Hello World");
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (hello), NULL);
g_signal_connect_swapped (G_OBJECT (button), "clicked",
G_CALLBACK
(gtk_widget_destroy), window);
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);
gtk_widget_show (window);
gtk_main ();
return 0;
}
Как видно, почти весь этот код состоит из служебных действий по созданию окон и обработке событий. Использование такого инструментария как GTK означает, что разработчику придётся писать дополнительный код. А если используется инструментарий Borland, то код для окон создаётся библиотекой CLX. Программисту по-прежнему доступны события на случай, если их придётся переопределить.
Дата добавления: 2015-07-15; просмотров: 73 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Альтернативные подходы | | | Петербургская сторона |