Qml에서 키보드 입력 이벤트를 핸들링하는 방법이다. 아래 예제 소스코드를 보자!
main.cpp에서는 main.qml을 로드한다.
#include <QGuiApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); if (engine.rootObjects().isEmpty()) return -1; return app.exec(); }
main.qml에서 키이벤트를 핸들링 하기위한 Item을 추가했으며 keys.onPressed 시그널에 대한 처리를 구현하였다.
import QtQuick 2.11 import QtQuick.Window 2.11 Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Text { id: idText text: qsTr("text") anchors.centerIn: parent font.pixelSize: 15 } Item { focus: true Keys.onPressed: { switch(event.key){ case Qt.Key_A : idText.text = "input A key" break; case Qt.Key_0 : idText.text = "input num0 key" break; default: break; } } } }
키보드의 "a" 키 또는 숫자 "0"키가 눌려지면 가운데 텍스트를 바꾼다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 | 운영자 | 2019.01.05 | 86414 |
8 | z-order 를 컨트롤 하기위한 방법 | makersweb | 2015.05.13 | 6597 |
7 | QML내에서의 시그널, 슬롯 시스템 | makersweb | 2019.09.29 | 7022 |
6 | Qml 기본 컴포넌트 강좌 (2) [2] | makersweb | 2019.01.05 | 8678 |
5 | QML 강좌 - 동적 Listing (ListView) | makersweb | 2019.06.01 | 10152 |
4 | Qml 기본 컴포넌트 강좌 (1) | makersweb | 2019.01.03 | 12155 |
3 | QML과 QtQuick 모듈 개념과 기본 타입들 | makersweb | 2019.04.26 | 13460 |
2 | Qml과 C++로 구현하는 GUI어플리케이션 | makersweb | 2018.12.25 | 14067 |
1 | QtCreator Design으로 GUI만들기 (QML로 만드는 Hello World -2) [1] | makersweb | 2019.05.26 | 15036 |