гткмм

Набор инструментов графического интерфейса
Репозиторий
  • gitlab.gnome.org/GNOME/gtkmm.git
Написано вС++
ПлатформаГТК
ТипЯзыковая привязка
ЛицензияСтандартная общественная лицензия ограниченного применения GNU
Веб-сайтgtkmm.gnome.org

gtkmm (ранее известный как gtk-- или gtk minus minus [1] ) — официальный интерфейс C++ для популярной библиотеки графического интерфейса пользователя GTK . gtkmm — это свободное программное обеспечение, распространяемое по лицензии GNU Lesser General Public License (LGPL).

gtkmm позволяет создавать пользовательские интерфейсы либо в коде, либо с помощью Glade Interface Designer , используя класс Gtk::Builder. Другие функции включают типобезопасные обратные вызовы , полный набор графических элементов управления и расширяемость виджетов через наследование .

Функции

Поскольку gtkmm является официальным интерфейсом C++ библиотеки графического интерфейса пользователя GTK , программисты на C++ могут использовать общие методы ООП , такие как наследование , и специфичные для C++ возможности, такие как STL (фактически, многие интерфейсы gtkmm, особенно для контейнеров виджетов , разработаны так, чтобы быть похожими на стандартную библиотеку шаблонов (STL)).

Основные возможности gtkmm перечислены ниже:

Привет, мир в gtkmm

//HelloWorldWindow.h#ifndef HELLOWORLDWINDOW_H #define HELLOWORLDWINDOW_H#include <gtkmm/window.h> #include <gtkmm/button.h>  // Создать новый виджет окна из существующего. // Это окно будет содержать только кнопку с надписью "Hello World" class HelloWorldWindow : public Gtk :: Window { public : HelloWorldWindow ();       защищено : Gtk :: Кнопка hello_world ; };  #endif
//HelloWorldWindow.cc#include <iostream> #include "HelloWorldWindow.h"  HelloWorldWindow :: HelloWorldWindow () : hello_world ( "Hello World" ) { // Устанавливаем заголовок окна. set_title ( "Hello World" );     // Добавляем кнопку участника в окно. set_child ( hello_world );  // Обрабатываем сигнал «clicked». hello_world . signal_clicked (). connect ([] () { std :: cout << "Hello world" << std :: endl ; }); }         
//main.cc#include <gtkmm/application.h> #include "HelloWorldWindow.h"  int main ( int argc , char * argv []) { // Создаем объект приложения. auto app = Gtk :: Application :: create ( "org.gtkmm.example" );           // Создаем объект окна hello world и возвращаем его после закрытия. return app -> make_window_and_run < HelloWorldWindow > ( argc , argv ); }   

Вышеприведенная программа создаст окно с кнопкой с надписью "Hello World". При нажатии на кнопку на стандартный вывод будет отправлено сообщение "Hello world".

Программа запускается с помощью следующих команд:

$ g++  -std = c++17  *.cc  -o  пример ` pkg-config gtkmm-4.0 --cflags --libs ` $ ./example    

Обычно это делается с помощью простого make-файла .

Приложения

Вот некоторые известные приложения, использующие gtkmm:

Смотрите также

Ссылки

  1. ^ Часто задаваемые вопросы о gtkmm
  2. ^ "Debian -- Подробности пакета amsynth в jessie" . Получено 2017-03-06 .
  3. ^ "Debian -- Подробности пакета cadabra в jessie" . Получено 2017-03-06 .
  4. ^ "Debian -- Подробная информация о пакете gnome-system-monitor в jessie" . Получено 2017-03-06 .
  5. ^ "Debian -- Подробная информация о пакете gigedit в jessie" . Получено 2017-03-06 .
  6. ^ "Debian -- Подробности пакета pavucontrol в jessie" . Получено 2017-03-06 .
  7. ^ "Debian -- Подробности пакета paman в jessie" . Получено 2017-03-06 .
  8. ^ "Debian -- Подробности пакета paprefs в jessie" . Получено 2017-03-06 .
  9. ^ "Debian -- Подробности пакета pavumeter в jessie" . Получено 2017-03-06 .
  10. ^ "Debian -- Подробности пакета rawtherapee в jessie" . Получено 2017-03-06 .
  11. ^ "Debian -- Подробности пакета seq24 в jessie" . Получено 2017-03-06 .
  12. ^ "Debian -- Подробная информация о пакете synfigstudio в jessie" . Получено 2017-03-06 .
  13. ^ "Debian -- Подробности пакета linthesia в jessie" . Получено 2017-03-06 .
  14. ^ "Debian -- Подробная информация о пакете mysql-workbench в jessie" . Получено 2017-03-06 .
  15. ^ "Debian -- Подробная информация о пакете visualboyadvance-gtk в jessie" . Получено 2017-03-06 .
  • Официальный сайт
Взято с "https://en.wikipedia.org/w/index.php?title=Gtkmm&oldid=1268397709"