Gtkmm - Gtkmm
Úložiště | |
---|---|
Napsáno | C ++ |
Plošina | GTK |
Typ | Jazyková vazba |
Licence | GNU Lesser General Public License |
webová stránka | www |
gtkmm (dříve známý jako gtk-- nebo gtk minus minus[1]) je oficiální C ++ rozhraní pro populární GUI knihovna GTK. gtkmm je svobodný software distribuováno pod GNU Lesser General Public License (LGPL).
gtkmm umožňuje vytváření uživatelských rozhraní buď v kódu, nebo pomocí Návrhář rozhraní Glade pomocí třídy Gtk :: Builder. Mezi další funkce patří typově bezpečné zpětná volání, komplexní sada grafické ovládací prvky a rozšiřitelnost widgetů pomocí dědictví.
Funkce
Protože gtkmm je oficiální C ++ rozhraní GUI knihovna GTK, C ++ programátoři mohou používat běžné OOP techniky jako dědictví, a C ++ - konkrétní zařízení, jako je STL (Ve skutečnosti je mnoho rozhraní gtkmm, zejména pro widget kontejnery, jsou navrženy tak, aby byly podobné Standardní knihovna šablon (STL)).
Hlavní vlastnosti gtkmm jsou uvedeny níže:
- Použití dědictví odvodit zvyk widgety.
- Typově bezpečné obsluhy signálů standardně C ++.
- Polymorfismus.
- Použití standardní knihovny C ++, včetně struny, kontejnery, a iterátory.
- Plná internacionalizace s UTF-8.
- Kompletní C ++ správa paměti.
- Složení objektu.
- Automatické zrušení přidělení dynamicky přidělené widgety.
- Plné využití Obory názvů C ++.
- Ne makra.
- Cross-platform: Linux (gcc, LLVM ), FreeBSD (gcc, LLVM ), NetBSD (gcc ), Solaris (gcc, Silná stránka ), Win32 (gcc, MSVC ++ ), Operační Systém Mac (gcc ), další.
Hello World v gtkmm
//HelloWorldWindow.h#ifndef HELLOWORLDWINDOW_H#define HELLOWORLDWINDOW_H#zahrnout <gtkmm/window.h>#zahrnout <gtkmm/button.h>// Odvodí nový widget okna od existujícího.// Toto okno bude obsahovat pouze tlačítko označené „Hello World“třída HelloWorldWindow : veřejnost Gtk::Okno{ veřejnost: HelloWorldWindow(); chráněný: Gtk::Knoflík Ahoj světe;};#endif
//HelloWorldWindow.cc#zahrnout <iostream>#zahrnout „HelloWorldWindow.h“HelloWorldWindow::HelloWorldWindow() : Ahoj světe("Ahoj světe"){ // Nastaví název okna. set_title("Ahoj světe"); // Přidat tlačítko člena do okna, přidat(Ahoj světe); // Zpracování události „kliknutí“. Ahoj světe.signal_clicked().připojit([] () { std::cout << "Ahoj světe" << std::konec; }); // Zobrazí všechny podřízené widgety okna. show_all_children();}
//main.cc#zahrnout <gtkmm/main.h>#zahrnout „HelloWorldWindow.h“int hlavní(int argc, char *argv[]) { // Inicializace Gtk::Hlavní souprava(argc, argv); // Vytvořte objekt okna Hello World HelloWorldWindow příklad; // gtkmm hlavní smyčka Gtk::Hlavní::běh(příklad); vrátit se 0;}
Výše uvedený program vytvoří okno s tlačítkem označeným „Hello World“. Tlačítko po kliknutí odešle „Hello world“ na standardní výstup.
Program se spouští pomocí následujících příkazů:
$ g ++ -std=c ++ 11 * .cc -o příklad `pkg-config gtkmm-3.0 --cflags --libs`$ ./příklad
To se obvykle provádí pomocí jednoduchého makefile.
Aplikace
Některé pozoruhodné aplikace, které používají gtkmm, zahrnují:
- Amsynth[2]
- Cadabra (počítačový program)[3]
- Inkscape Kreslení vektorové grafiky.
- Horizon EDA balíček Electronic Design Automation pro design desek plošných spojů.
- Kráječ PDF Jednoduchá aplikace pro extrakci, sloučení, otáčení a změnu pořadí stránek dokumentů PDF.
- Workrave Pomáhá při obnově a prevenci RSI.
- Monitor systému Gnome[4]
- Gigedit[5]
- GParted nástroj pro dělení disku.
- Nemiver GUI pro GNU debugger gdb.
- PulseAudio nástroje: pavucontrol,[6] paman,[7] paprefs[8] pavumeter,[9]
- RawTherapee[10]
- GNOME Doporučující organizátor dokumentů a manažer bibliografie
- Seq24[11]
- Synfig Studio[12]
- Linthesia[13]
- MySQL Workbench[14] GUI databáze správce.
- Zanícení Open source digital audio workstation (DAW) for Linux and MacOS.
- Gnote desktop notetaking aplikace.
- VisualBoyAdvance[15]
- Pracovní stanice VMware a VMware Player oba používají pro své linuxové porty gtkmm.
Viz také
Reference
- ^ Nejčastější dotazy týkající se gtkmm
- ^ "Debian - Podrobnosti balíčku amsynth v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku cadabra v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku gnome-system-monitor v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku gigedit v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku pavucontrol v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku paman v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku paprefs v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku pavumeter v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku rawtherapee v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku seq24 v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku synfigstudio v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku linthesia v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku mysql-workbench v jessie". Citováno 2017-03-06.
- ^ "Debian - Podrobnosti balíčku visualboyadvance-gtk v jessie". Citováno 2017-03-06.