KDE 플랫폼 4

KDE 플랫폼 4(KDE Platform 4)는 KDE의 라이브러리와 소프트웨어 프레임워크의 모음으로, GNU LGPL 라이선스로 배포되는 KDE 소프트웨어 컴필레이션 4의 기술 토대를 제공한다.

기술 
 사용자 인터페이스
 플라스마 - 데스크톱 및 패널 위젯 엔진
 KHTML – HTML 렌더링 엔진
 KIO – 외부 네트워크-투명 파일 접근
 KParts – 가벼운 프로세스 내 그래픽 컴포넌트 프레임워크
 소넷 – 철자 검사기
 XMLGUI – UI 요소 정의 (XML 파일을 통한 메뉴, 도구 모음 등)
 고야
 하드웨어 및 멀티미디어
 Phonon – 멀티미디어 프레임워크
 Solid – 장치 연동 프레임워크
 서비스
 NEPOMUK
 KNewStuff – KDE의 "Hot New Stuff" 클래스
 Policykit-KDE
 통신
 Akonadi
 게임
 Gluon
 KGGZ
 기타
 스레드위버 – 멀티프로세서 시스템을 더 효율적으로 사용하기 위한 라이브러리
 키오스크 – KDE의 기능을 비활성화하여 더 통제된 환경을 만들 수 있게 함
 크로스
 KConfig XT
 ownCloud

KDE 플랫폼 4로 대체된 기술 
 aRts – 사운드 드라이버
 DCOP – 프로세스 간 통신 시스템 (D-Bus 대체)

KParts 
KParts는 KDE 플라스마 데스크톱 환경을 위한 컴포넌트 프레임워크이다. 개개의 컴포넌트는 KPart라고 한다.

스레드위버

Hello World 예제 
#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;
}

각주

외부 링크 
 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

 
API
컴퓨팅 플랫폼
KDE 소프트웨어
자유 라이브러리