KDE Platform 4
![]() | |
Original author(s) | KDE |
---|---|
Developer(s) | KDE |
Initial release | 11 January 2008 (2008-01-11)[1] |
Last release | 4.14.12 (September 15, 2015 (2015-09-15)) [±][2] |
Repository |
![]() |
Written in | C++[3][4] |
Type |
|
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
^ "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}
^ "KDE Ships KDE Applications 15.08.1". KDE. 15 September 2015. Retrieved 16 September 2015.
^ "The KDE development platform". Retrieved 2010-11-26.
^ "Development/Languages". Retrieved 2010-12-04.
^ http://owncloud.org/
^ K Desktop Environment - KDE 4.0 Released
^ UPower, UDev and UDisks Support, Metadata Backup
^ 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
Post a Comment