한국어
Qt
 

QOpenVirtualkeyboard 는 Qt응용프로그램에서 한글 및 영자, 숫자 입력을위한 심플한 오픈소스 가상키보드 프로젝트입니다. 한글 조합에는 libhangul 을 사용하였으며 Qt5의 QPA기반의 플러그인 라이브러리로 빌드됩니다. 

 

현재 Windows 및 X11 데스크탑환경에서만 사용가능하고 추후 QML타입으로 제공할 계획입니다. 

 

X11.png

▲X11(우분투)데스크탑

 

windows.png

▲Windows(윈도우) 데스크탑

 

저장소

https://gitlab.com/pjk1985/qopenvirtualkeyboard.git

 

빌드방법 (Linux)

빌드하려면 먼저 Qt SDK(qmake)가 설치되어 있어야 합니다.

빌드 후에는 일반적으로 <Qt가 설치된 곳>/plugins/platforminputcontexts 에 설치되어야 합니다.

 

소스코드를 복제하고 다음의 순서로 빌드 및 설치할 수 있습니다. (윈도우의 경우 Qt용 명령 프롬프트를 사용)

cd plugin
qmake
make
make install

 

사용방법

Qt응용프로그램에서는 QT_IM_MODULE 환경변수를 설정해야 합니다. 다음은 응용프로그램의 main함수에서 QT_IM_MODULE 환경변수를 설정하는 방법을 보여줍니다.

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    // QT_IM_MODULE 환경변수에 "qopenvk"을 설정.
    qputenv("QT_IM_MODULE", QByteArray("qopenvk"));

    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;

    return app.exec();
}

 

업데이트 계획

  • EGLFS에서도 사용할 수 있도록 QML타입 제공

 

라이센스

  • QOpenVirtualkeyboard는 LGPLv3라이센스에 따라 사용할 수 있습니다.
  • libhangul의 라이센스는 LGPLv2.1입니다.
번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 86174
119 Q_D매크로와 d-pointer file makersweb 2019.05.07 762
118 Qt기반의 오픈소스 프로젝트들 makersweb 2019.05.15 5462
117 QtSerialPort를 사용한 시리얼(Serial)통신 [3] makersweb 2019.05.21 11974
116 QML에서 멀티 스레드(multithreading) 프로그래밍 file makersweb 2019.05.25 2673
115 QtCreator Design으로 GUI만들기 (QML로 만드는 Hello World -2) [1] file makersweb 2019.05.26 14977
114 QtInstallerFramework로 온라인 설치프로그램(Online Installer)만드는 방법 [4] file makersweb 2019.05.28 6275
113 QML 강좌 - 동적 Listing (ListView) file makersweb 2019.06.01 10123
112 Qt Quick Controls 2사용 및 스타일 설정 file makersweb 2019.06.07 6281
111 Qt Creator에서 임베디드 장치로 deploy설정(Custom Process Step) file makersweb 2019.06.15 2206
110 QML, 이미지, 폰트등을 바이너리 리소스로 만들기 makersweb 2019.06.24 3525
109 Qt기반의 오픈소스 프로젝트들 - 2 운영자 2019.07.21 4021
108 [Qt] Google Play의 향후 요구 사항을 준수하는 방법 [2] j2doll 2019.07.29 978
107 [Qt News] Qt6 Git 개발 초기 단계 시작하기 j2doll 2019.08.02 2337
106 [Qt News] Qt 6 기술 비전 (Technical vision for Qt 6) [2] j2doll 2019.08.08 2122
105 열거형(enum)을 QML에서 사용하는 방법과 문자열(QString)로 얻기 makersweb 2019.08.20 3900
104 [Qt News] Qt for Python을 위한 기술 비전 j2doll 2019.08.20 1626
103 MCU용 Qt에 대해서 makersweb 2019.08.22 1923
102 QSocketNotifier로 파일 디스크립터의 활동감지 makersweb 2019.08.28 1736
101 C++로 구현된 모델을 QML의 ListView에서 참조 file makersweb 2019.09.07 4938
100 컨테이너에 적재된 객체를 편리하게 삭제하기 makersweb 2019.09.18 1670