词条 | FLTK |
释义 |
| name = FLTK | logo = FLTK shadow.svg | screenshot = | caption = | developer = | released = {{Start date and age|1998}} | programming language = C++ | operating system = Unix-like with X11, macOS, Windows, AmigaOS 4 | genre = User interface library | license = GNU Lesser General Public License version 2[1] (with an exception to allow static linking) | website = {{URL|fltk.org}} }} Fast Light Toolkit (FLTK, pronounced fulltick)[2] is a cross-platform widget (graphical control element) library for graphical user interfaces (GUIs), developed by Bill Spitzak and others. Made to accommodate 3D graphics programming, it has an interface to OpenGL, but it is also suitable for general GUI programming. Using its own widget, drawing and event systems (though FLTK2 has gained experimental support for optionally using the cairo graphics library) abstracted from the underlying system-dependent code, it allows for writing programs which look the same on all supported operating systems. FLTK is free and open-source software, licensed under GNU Lesser General Public License (LGPL) with an added clause permitting static linking from applications with incompatible licenses. In contrast to user interface libraries like GTK+, Qt, and wxWidgets, FLTK uses a more lightweight design and restricts itself to GUI functionality. Because of this, the library is very small (the FLTK "Hello World" program is around 100 KiB), and is usually statically linked. It also avoids complex macros, separate code preprocessors, and use of some advanced C++ features: templates, exceptions, and run-time type information (RTTI) or, for FLTK 1.x, namespaces. Combined with the modest size of the package, this makes it relatively easy to learn for new users.[3] These advantages come with corresponding disadvantages. FLTK offers fewer widgets than most GUI toolkits and, because of its use of non-native widgets, does not have native look-and-feel on any platform. Meaning of the nameFLTK was originally designed to be compatible with the Forms Library written for Silicon Graphics (SGI) machines (a derivative of this library called XForms is still used quite often). In that library, all functions and structures start with ArchitectureFLTK is an object-oriented widget toolkit written in the programming language C++. While GTK+ is mainly for the X Window System, FLTK works on other platforms, including Microsoft Windows (interfaced with the Windows API), and OS X (interfaced with Quartz). HTML5 and Wayland back-ends are in development.{{citation needed|date=August 2015}} Language bindingsA library written in one programming language may be used in another language if language bindings are written. FLTK has a range of bindings for various languages.[5] FLTK was mainly designed for, and is written in, the programming language C++. However, bindings exist for other languages, for example Lua,[6] Perl,[7] Python,[8] Ruby[9] and Tcl.[10] For FLTK 1.x, this example creates a window with an Okay button:
int main(int argc, char *argv[]) { Fl_Window* w = new Fl_Window(330, 190); new Fl_Button(110, 130, 100, 35, "Okay"); w->end(); w->show(argc, argv); return Fl::run(); } GUI designersFLTK includes Fast Light User Interface Designer (FLUID), a graphical GUI designer that generates C++ source and header files. Use{{See also|:Category:Software that uses FLTK}}Many programs and projects use FLTK, including:
Versions{{Expand section|date=July 2010}}This version history is an example of the sometimes tumultuous nature of open-source development.[33] 1.0.xThis is a prior stable version, now unmaintained. 1.1.xThis is a prior stable version, now unmaintained. 2.0 branchThis was a development branch, long thought to be the next step in FLTK's evolution, with many new features and a cleaner programming style. It never achieved stability, and development has largely ceased. The branch is inactive now. 1.2.xThis was an attempt to take some of the best features of 2.0 and merge them back into the more popular 1.1 branch. It is no longer developed. 1.3.xCurrent stable release.[34] Provides UTF-8 support. 1.4.xCurrent development branch. Adds more features to 1.3.[35] 3.0 branchThis branch is mostly a conceptual model for future work. Now inactive. See also{{Portal|Free and open-source software}}
References1. ^{{cite web|url=http://www.fltk.org/COPYING.php|title=FLTK License Agreement}} 2. ^{{cite web |url=http://www.fltk.org/ |title=FLTK home}} 3. ^http://www.cpplibs.com/libraries/fltk/ 4. ^http://www.fltk.org/articles.php?L363+I0+TFAQ+P1+Q 5. ^{{cite web|url=http://www.gtk.org/language-bindings.php|title=GTK+ Language Bindings}} 6. ^{{cite web|url=http://www.murga-projects.com/murgaLua.html|title=murgaLua homepage}} 7. ^http://www.fltk.org/wiki.php?LC+P139+TC+Q 8. ^{{cite web|url=http://pyfltk.sourceforge.net/|title=pyFLTK homepage}} 9. ^{{cite web|url=http://ruby-fltk.sourceforge.net/|title=Ruby/FLTK homepage}} 10. ^{{cite web|url=http://sourceforge.net/projects/fltkwish/|title=Tcl/Fltk homepage}} 11. ^{{cite web|url=https://sourceforge.net/projects/nanolinux/|title=Nanolinux Official Website}} 12. ^https://eerielinux.wordpress.com/2014/11/30/tiny-to-the-extreme-nanolinux/ 13. ^https://eerielinux.wordpress.com/2014/12/30/an-interview-with-the-nanolinux-developer/ 14. ^https://web.archive.org/web/19990420083003/http://tawny.cs.nott.ac.uk:80/~sbx/winnie/aim/overview.htm 15. ^http://sites.utoronto.ca/webdocs/HTMLdocs/PCTOOLS/pc_editors.html 16. ^http://www.georgpotthast.de/ 17. ^https://eerielinux.wordpress.com/2012/10/12/an-extraordinary-tk-example/ 18. ^https://eerielinux.wordpress.com/2014/12/30/an-interview-with-the-nanolinux-developer/ 19. ^https://web.archive.org/web/19990420083003/http://tawny.cs.nott.ac.uk:80/~sbx/winnie/aim/overview.htm 20. ^http://www.georgpotthast.de/ 21. ^YPH 22. ^Giada, hardcore loopmachine 23. ^Prodatum 24. ^DiSTI GL Studio 25. ^ForcePAD 26. ^RoboCIM - Robotics software 27. ^FlBurn 28. ^Open Movie Editor 29. ^OpenVSP 30. ^PosteRazor 31. ^Fifth browser 32. ^NetRider 33. ^{{cite web|url=http://www.fltk.org/articles.php?L825+I0+T+P1+Q|title=What are the Versions of FLTK?|accessdate=2010-07-23}} 34. ^http://www.fltk.org/articles.php?L825 taken 2017 march 5. 35. ^http://www.fltk.org/articles.php?L825 Taken 2017 March 5. External links
8 : Cross-platform free software|FLTK|Free computer libraries|Free software programmed in C++|Software that uses Cairo|Software using the LGPL license|Widget toolkits|X-based libraries |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。