fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

2014年06月 | ARCHIVE-SELECT | 2014年08月

| PAGE-SELECT |

≫ EDIT

C++ Qt Widget 上でのキーボード操作

QListBox などの Widget 上で、キーボードが推された場合の処理です。
簡単に考えるとコールバック系があるのかなと思ったのですが、
どうも Widget を継承したクラスで、関数をオーバーライドしてあげる必要があるみたいです。

・EmacsライクなWidgetを作ろう on Qt
http://blog.goo.ne.jp/hiroyuki_kiitos

ここを参考にこんな感じに。

// 継承したクラスでキーを受け取り
class CListWidget : public QListWidget {
protected:
//! キーイベント
virtual void keyPressEvent( QKeyEvent *event )
{
switch( event->key() ){
case Qt::Key_Delete:
break;
default:
break;
}
}
}


こんな感じでオーバーライドしてあげることで、
そのウィジェットでキーが押されたときの処理を実行することができます。
この他にもキーが離されたときや、マウス操作関係もあるようです。

Qt 自体、Widget を継承してカスタマイズして作っていくのが基本のようですね。

| Qt | 03:18 | comments:0 | trackbacks:0 | TOP↑

| PAGE-SELECT |