[[:oktatas:programozás:pascal|< Pascal]] ====== Gtk ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2011 * Licenc: GNU Free Documentation License 1.3 * Web: http://szit.hu ===== Telepítés ===== Windowson automatikusan települ a FreePascal-al a GTK-is. Debian GNU/Linuxon (a uses gtk1-hez): apt-get install libgtk1.2-dev Debian GNU/Linuxon (a uses glib-hez): apt-get install libglib-dev Debian GNU/Linuxon (a uses gtk2-höz): apt-get install libgtk2.0-dev Debian GNU/Linuxon (a uses glib-hez): apt-get install libglib2.0-dev ===== Gtk2 Ablak ===== uses Gtk2; var FoAblak : pGtkWidget; begin gtk_init(@argc, @argv); FoAblak := gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_show(FoAblak); gtk_main(); end. Egy gomb kihelyezés, amelyre a program kilép: program ex2; { $mode objfpc } uses glib2, gtk2; procedure destroy (widget : pGtkWidget ; data : pgpointer ) ; cdecl ; begin gtk_main_quit(); end; var window : PGtkWidget ; button : PGtkWidget ; begin gtk_init(@argc,@argv); window := gtk_window_new(GTK_WINDOW_TOPLEVEL); button := gtk_button_new_with_label('Klikkelj ide'); gtk_container_set_border_width(GTK_CONTAINER(Window) , 5 ) ; gtk_container_add(GTK_Container(window) , button) ; gtk_signal_connect(PGTKOBJECT(window) , 'destroy' , GTK_SIGNAL_FUNC(@destroy),NULL); gtk_signal_connect(PGTKOBJECT(button) , 'clicked' , GTK_SIGNAL_FUNC(@destroy),NULL); gtk_widget_show(button); gtk_widget_show(window) ; gtk_main() ; end. ===== Külső linkek ===== * https://www.freepascal.org/~michael/articles/gtk/gtk1.pdf (2019) * https://www.freepascal.org/~michael/articles/gtk/gtk2.pdf (2019) * https://www.freepascal.org/~michael/articles/gtk/gtk3.pdf (2019) * https://www.freepascal.org/~michael/articles/gtk/gtk4.pdf (2019) * https://www.freepascal.org/~michael/articles/gtk/gtk5.pdf (2019) * https://www.freepascal.org/~michael/articles/gtk/gtk6.pdf (2019) * https://www.freepascal.org/~michael/articles/ (2019)