KDE Platform 4











































KDE Platform 4
KDE Mascot Konqi for KDE Frameworks.png
Original author(s) KDE
Developer(s) KDE
Initial release 11 January 2008; 11 years ago (2008-01-11)[1]
Last release 4.14.12 (September 15, 2015; 3 years ago (2015-09-15)) [±][2]

Repository
  • anongit.kde.org/kdelibs.git
Edit this at Wikidata
Written in
C++[3][4]
Type

  • System libraries

  • Software frameworks

License
GNU Lesser General Public License (LGPL)

KDE Platform 4 is a collection of libraries and software frameworks by KDE that serve as technological foundation for KDE Software Compilation 4 distributed under the GNU Lesser General Public License (LGPL). KDE Platform 4 is the successor to KDElibs and the predecessor of KDE Frameworks 5. KDE Platform 4 is the only version of KDE Platform, see KDE’s brand repositioning.





KDE Software Compilation structure




Contents






  • 1 Technologies


    • 1.1 Technologies superseded in KDE Platform 4




  • 2 KParts


  • 3 Solid


  • 4 Hello world example


  • 5 References


  • 6 External links





Technologies



  • User Interface


    • Plasma – desktop and panel widget engine


    • KHTML – HTML rendering engine


    • KIO – extensible network-transparent file access


    • KParts – lightweight in-process graphical component framework


    • Sonnet – spell checker


    • XMLGUI – allows defining UI elements such as menus and toolbars via XML files

    • Goya



  • Hardware and Multimedia


    • Phonon – multimedia framework


    • Solid – device integration framework



  • Services

    • NEPOMUK


    • KNewStuff – KDE's "Hot New Stuff" classes

    • Policykit-KDE



  • Communication
    • Akonadi


  • Games

    • Gluon

    • KGGZ



  • Other


    • ThreadWeaver – library to use multiprocessor systems more effectively


    • Kiosk – allows disabling features within KDE to create a more controlled environment

    • Kross

    • KConfig XT


    • ownCloud[5]





Technologies superseded in KDE Platform 4




  • aRts – sound server (replaced with Phonon)


  • DCOP – inter-process communication system (replaced with D-Bus)



KParts


KParts is the component framework for the KDE Plasma desktop environment. An individual component is called a KPart. KParts are analogous to Bonobo components in GNOME and ActiveX controls in Microsoft's Component Object Model. Konsole is available as a KPart and is used in applications like Konqueror and Kate.


Example uses of KParts:




  • Konqueror uses the Okular part to display documents


  • Konqueror uses the Dragon Player part to play multimedia


  • Kontact embeds kdepim applications


  • Kate and other editors use the katepart editor component

  • Several applications use the Konsole KPart to embed a terminal


External links



  • Creating and Using Components (KParts) (from KDE)


  • Writing Plugins For KDE Applications (from KDE)



Solid



Solid is a device integration framework for KDE Platform 4, the current release of KDE. It functions on similar principles to KDE's multimedia pillar Phonon; rather than managing hardware on its own, it makes existing solutions accessible through a single API. The current solution uses udev, NetworkManager and BlueZ (the official Linux Bluetooth stack). However, any and all parts can be replaced without breaking the application, making applications using Solid extremely flexible and portable.[6][7] Work is underway to build a Solid backend for the Windows port of KDE based on Windows Management Instrumentation.[8]


Solid is broken up into many hardware “domains” which operate independently. Domains may be added as needed. For instance, one domain may be Bluetooth, and another may be power management. Solid is used extensively within KDE 4 and its popular applications, making them more aware of hardware events and easier to develop.


External links


  • Solid home page

  • KDE dot article on Solid



Hello world example


#include <KApplication>
#include <KAboutData>
#include <KCmdLineArgs>
#include <KMessageBox>
#include <KLocale>

int main (int argc, char *argv)
{
KAboutData aboutData(
// The program name used internally.
"tutorial1",
// The message catalog name
// If null, program name is used instead.
0,
// A displayable program name string.
ki18n("Tutorial 1"),
// The program version string.
"1.0",
// Short description of what the app does.
ki18n("Displays a KMessageBox popup"),
// The license this code is released under
KAboutData::License_GPL,
// Copyright Statement
ki18n("Copyright (c) 2007"),
// Optional text shown in the About box.
// Can contain any information desired.
ki18n("Some text..."),
// The program homepage string.
"http://example.com/",
// The bug report email address
"submit@bugs.kde.org");

KCmdLineArgs::init( argc, argv, &aboutData );
KApplication app;
KGuiItem yesButton( i18n( "Hello" ), QString(),
i18n( "This is a tooltip" ),
i18n( "This is a WhatsThis help text." ) );
KMessageBox::questionYesNo( 0, i18n( "Hello World" ),
i18n( "Hello" ), yesButton );
return 0;
}


References





  1. ^ "KDE 4.0 Release Announcement"..mw-parser-output cite.citation{font-style:inherit}.mw-parser-output .citation q{quotes:"""""""'""'"}.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/12px-Wikisource-logo.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:inherit;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-maint{display:none;color:#33aa33;margin-left:0.3em}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em}


  2. ^ "KDE Ships KDE Applications 15.08.1". KDE. 15 September 2015. Retrieved 16 September 2015.


  3. ^ "The KDE development platform". Retrieved 2010-11-26.


  4. ^ "Development/Languages". Retrieved 2010-12-04.


  5. ^ http://owncloud.org/


  6. ^ K Desktop Environment - KDE 4.0 Released


  7. ^ UPower, UDev and UDisks Support, Metadata Backup


  8. ^ KDE Commit Digest issue 107




External links





  • TechBase, documentation for KDE developers


  • KDE Projects, overview of all projects within git.kde.org

  • KDE quick Git source code browser

  • KDE Bug Tracking System

  • KDE tutorial first program









Comments

Popular posts from this blog

Information security

Volkswagen Group MQB platform

刘萌萌