<b>GtkWidget* gtk_window_new(GtkWindowType type);</b>ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ
GtkWindowGtkContainergtk_container_add<b>void gtk_container_add(GtkContainer* container, GtkWidget *widget);</b>ΠΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΠΌΠ°ΠΊΡΠΎΡ
GTK_CONTAINERGtkWidgetGtkContainerGtkWidget * window = gtk_window_new(GTK GTK_WINDOW_TOPLEVEL);gtk_container_add(GTK_CONTAINER(window), awidget);ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅; ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΌΠ΅ΡΡΡΠ΅ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΠ°ΡΡΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ². ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΠΊΡΠΎΡ.
ΠΠ΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π²ΡΠ΅ ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ; Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΡ ΠΠΠ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠΈΡΡ GNOME/GTK+. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠ²ΠΎΠΈΡΡ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΠΠ Π½Π° Π±Π°Π·Π΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ Π²Π°ΠΌ ΡΠ·ΡΠΊΠ° Π‘.
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ GNOME
GNOME β ΠΈΠΌΡ, Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π½Π°ΡΠ°ΡΠΎΠΌΡ Π² 1997 Π³. ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ, ΡΠ°Π±ΠΎΡΠ°Π²ΡΠΈΠΌΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ GNU Image Manipulation Program (GIMP) Π½Π°Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Π΄Π»Ρ Linux. ΠΡΠ΅ Π±ΡΠ»ΠΈ ΡΠΎΠ³Π»Π°ΡΠ½Ρ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠ±ΠΎΡ ΠΠ‘ Linux ΠΊΠ°ΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° ΡΠΎΡΠΌΠΎΠ·ΠΈΠ»ΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» Linux Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π» ΠΠΈΠΊΠΈΠΉ ΠΠ°ΠΏΠ°Π΄ Π±Π΅Π· ΠΎΠ±ΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² ΠΈΠ»ΠΈ Π²ΡΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΡΠΈΠ΅ΠΌΠΎΠ², ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΠ³Π»ΠΈ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ Π²Π·Π΄ΡΠΌΠ°Π΅ΡΡΡ. ΠΠ΅Π· ΡΠ²ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡΠ΅ΠΉ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°, ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΈ Ρ.Π΄., ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Π½ΠΎΠ²ΠΈΡΠΊΠΎΠΌ Π±ΡΠ»ΠΎ Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΡΠ°Π½Π½ΡΠΌ, Π° Π² Ρ ΡΠ΄ΡΠ΅ΠΌ β Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΌ.
ΠΡΡΠΏΠΏΠ° GNOME Π½Π°ΠΌΠ΅ΡΠ΅Π²Π°Π»Π°ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» Π΄Π»Ρ ΠΠ‘ Linux Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPL, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΡΡΠΈΠ»ΠΈΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΡΠΈΠ»Π΅, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ°ΡΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π°Π½ΡΠ°ΠΌΠΈ ΠΈ Π»ΡΡΡΠΈΡ ΠΏΡΠΈΠ΅ΠΌΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΡ ΡΡΠ°ΡΠ°Π½ΠΈΠΉ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Ρ: ΡΡΠ΅Π΄Π° GNOME β ΠΎΡΠ½ΠΎΠ²Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Linux Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Fedora, Red Hat, Ubuntu, openSUSE ΠΈ Π΄Ρ. (ΡΠΈΡ. 16.1).
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ GNOME ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ GNU Network Object Model Environment (ΡΡΠ΅Π΄Π° ΡΠ΅ΡΠ΅Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ GNU), ΡΡΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ°Π½Π΅Π΅ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ Linux ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Microsoft OLE, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΡΠΎΠΈΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΈ ΡΠΎ, ΡΡΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ GNOME, β ΡΡΠΎ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΠΏΠ°Π½Π΅Π»Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΡΠΈΠ»ΠΈΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ.

Π ΠΈΡ. 16.1Β
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ GNOME/GTK+
ΠΠΎΠ»Π½ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» GNOME ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ GNOME/GTK+ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π±ΠΎΠ»Π΅Π΅ 60 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° GNOME Ρ Π½ΡΠ»Ρ Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° β ΡΡΡΡΠ°ΡΠ°ΡΡΠ°Ρ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π°. Π ΡΡΠ°ΡΡΡΡ, Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Linux Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ GNOME/GTK+ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΠΏΡΡΡΡΠΊΠΎΠ²ΠΎΠ΅ Π΄Π΅Π»ΠΎ.
Π Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Linux Red Hat ΠΈ Fedora Π²Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Package Management (Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ), ΡΠ΅Π»ΠΊΠ½ΡΠ² ΠΌΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΌΠ΅Π½Ρ Applications (ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ) ΠΈ Π²ΡΠ±ΡΠ°Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Add/Remove Software (ΠΠΎΠ±Π°Π²ΠΈΡΡ/ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ). ΠΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²ΠΈΡΡΡ Package Management (ΡΠΈΡ. 16.2), ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ»Π°ΠΆΠΎΠΊ GNOME Software Development (Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ GNOME). ΠΠ°Π³Π»ΡΠ½ΠΈΡΠ΅ Π² ΠΎΠ±Π»Π°ΡΡΡ Development (Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°) Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ GNOME/GTK+ 2, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²Π΅ΡΡΠΈΠΈ 2.x.Π ΠΈΡ. 16.2Β

Π ΡΠ»ΡΡΠ°Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠΈΡ RPM-ΠΏΠ°ΠΊΠ΅ΡΡ, Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ RPM-ΠΏΠ°ΠΊΠ΅ΡΡ:
β‘Β gtk2-2.10.11-7.fc7.rpm;
β‘Β gtk2-devel-2.10.11-7.fc7.rpm;
β‘Β gtk2-engines-2.10.0-3.fc7.rpm;
β‘Β libgnome-2.18.0-4.fc7.rpm;
β‘Β libgnomeui-2.18.l-2.fc7.rpm;
β‘Β libgnome-devel-2.18.0-4.fc7.rpm;
β‘Β libgnomeui-devel-2.18.1-2.fc7.rpm.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² fc7 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Linux Fedora 7. Π Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»Π΅Π³ΠΊΠ° ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π°.
Π Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Debian ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° Debian ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Ubuntu, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ apt-get Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² GNOME/GTK+ Ρ ΡΠ°Π·Π½ΡΡ ΡΠ°ΠΉΡΠΎΠ²-Π·Π΅ΡΠΊΠ°Π» (mirrors). ΠΠ»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ Web-ΡΠ°ΠΉΡΠ° http://www.gnome.org.
ΠΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ GTK+, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π²ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ ΠΈΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ (ΡΠΈΡ. 16.3).
$ <b>gtk-demo</b>
Π ΠΈΡ. 16.3Β
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Info (ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ) ΠΈ Source (ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄). ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Source (ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄) ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°. ΠΠ° Π½Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 16.1.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 16.1. ΠΠ±ΡΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
GtkWindowΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ GTK+ Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ GUI β ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΠΊΠ½Π°. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GTK+ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΈΠ· ΠΎΡΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
1.Β ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ Π΅Π΅ gtk1.Ρ:
#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;}2.Β ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ gtk1.c Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ <b>gcc gtk1.c -ΠΎ gtk1 `pkg-config --cflags --libs gtk+-2.0`</b>ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ ΠΈ Π½Π°Π±ΠΈΡΠ°ΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π°ΠΏΠΎΡΡΡΠΎΡΡ, Π° Π½Π΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ Π°ΠΏΠΎΡΡΡΠΎΡΡ β ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π°ΠΏΠΎΡΡΡΠΎΡΡ β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π·Π°ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π΅ Π²ΡΠ²ΠΎΠ΄ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Π°ΡΠ΅ ΠΎΠΊΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°ΡΠΊΡΡΡΡΡΡ (ΡΠΈΡ. 16.4).
$ <b>./gtk1</b>