[[: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)