地味に定規で測った後微調整してキーレイアウト用基本データが出来上がりました。こんな感じです。
// original size
static const int WIDTH = 270;
static const int HEIGHT = 75;
// layout entry
typedef struct {
QRect rect;
ID_KEY id;
} KeyLayout;
// layout table for keyboard
KeyLayout layout[ID_KEY_NUM] = {
// x, y, w, h key
{QRect( 0, 0, 0, 0), ID_KEY_0}, // dummy entry
// 1st row
{QRect( 0, 0, 18, 15), ID_KEY_1},
{QRect( 18, 0, 18, 15), ID_KEY_2},
{QRect( 36, 0, 18, 15), ID_KEY_3},
{QRect( 54, 0, 18, 15), ID_KEY_4},
{QRect( 72, 0, 18, 15), ID_KEY_5},
{QRect( 90, 0, 18, 15), ID_KEY_6},
{QRect(108, 0, 18, 15), ID_KEY_7},
{QRect(126, 0, 18, 15), ID_KEY_8},
{QRect(144, 0, 18, 15), ID_KEY_9},
{QRect(162, 0, 18, 15), ID_KEY_10},
{QRect(180, 0, 18, 15), ID_KEY_11},
{QRect(198, 0, 18, 15), ID_KEY_12},
{QRect(216, 0, 18, 15), ID_KEY_13},
{QRect(234, 0, 18, 15), ID_KEY_14},
{QRect(252, 0, 18, 15), ID_KEY_15},
// 2nd row
{QRect( 0, 15, 24, 15), ID_KEY_16},
{QRect( 24, 15, 18, 15), ID_KEY_17},
:
:
テスト用のWidgetクラスで、このデータを元にサイズを5倍に拡大して、drawRect()で描画するとこんな感じになりました。
なんとなく KeroKeyboard のバッタモンにはみえるかも(*^-^)
最近のコメント