FOX toolkit

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
FOX Toolkit
Foxlogo.jpg
Тип библиотека элементов интерфейса (виджетов)
Разработчик Jeroen van der Zijp, FOX community
Написана на C++
Операционная система Кроссплатформенное ПО
Последняя версия 1.6.54 (20 апреля 2017)
Тестовая версия 1.7.60 (17 мая 2017)
Лицензия LGPL
Сайт www.fox-toolkit.org

FOX Toolkit — кросс-платформенная библиотека инструментов с открытым исходным кодом (лицензия LGPL) для построения графического интерфейса пользователя[1].

Это достаточно быстрый пакет, который содержит большое число элементов GUI и поддержку OpenGL[2]. Язык разработки — C++, существуют привязки к Ruby[3], Python, Eiffel

Примеры[править | править код]

C/C++[править | править код]

Пример программы программы Hello World на C/C++ (он же hello.cpp в папке tests):

#include "fx.h"
#include "FXExpression.h"

int main(int argc, char **argv) {
  FXApp application("Hello","FoxTest");
  application.init(argc,argv);
  FXMainWindow *main=new FXMainWindow(&application,"Hello",NULL,NULL,DECOR_ALL);
  new FXButton(main,"&Hello, World!",NULL,&application,FXApp::ID_QUIT);
  application.create();
  main->show(PLACEMENT_SCREEN);
  return application.run();
}


Ruby[править | править код]

Пример программы Hello World на FxRuby, привязки FOX toolkit к Ruby. FOX hello screenshot.PNG

require 'fox16'

include Fox

application = FXApp.new("Hello", "FoxTest")
main = FXMainWindow.new(application, "Hi", nil, nil, DECOR_ALL)
FXButton.new(main, "&Hello, World!", nil, application, FXApp::ID_QUIT, 
    LAYOUT_FILL_X | BUTTON_TOOLBAR | FRAME_RAISED | FRAME_THICK)
application.create()
main.show(PLACEMENT_SCREEN)
application.run()


Python[править | править код]

Пример программы программы Hello World на FXPy, привязки FOX toolkit к Python 2.2:

#! /usr/bin/env python

from FXPy.fox import *
import sys

def runme():
    app = FXApp('Hello', 'Test')
    app.init(sys.argv)
    main = FXMainWindow(app, 'Hello', None, None, DECOR_ALL)
    button = FXButton(main, '&Hello, World!', None, app, FXApp.ID_QUIT);
    app.create()
    main.show(PLACEMENT_SCREEN)
    app.run()

if __name__ == '__main__':
    runme()

См. также[править | править код]

Примечания[править | править код]

  1. Michael Tschater. Платформонезависимая разработка программ (рус.) // LinuxFocus Magazine. — 2004. — Октябрь.
  2. GUI and Graphics - NCBI C++ Toolkit Book. ncbi.github.io. Дата обращения 23 января 2019.
  3. David Berube. Ch. 11. Creating Graphical User Interfaces with fxruby // Practical Ruby Gems. — Apress, 2007. — С. 95-102. — 268 с. — ISBN 9781430201939.

Ссылки[править | править код]