Qt4:百の定石
- キー入力があると keyPressEvent?() にイベントがくる。
- キーが押し終わると keyReleaseEvet?() が発生する。
- 親Widget に登録する時、登録するWidget にキーイベントがくるようにするにはsetFocusPolicy?(Qt::StrongFocus?) を使う。
class mapView:public QWidget
{
Q_OBJECT
:
:
protected:
void keyPressEvent( QKeyEvent* e ) ;
void keyReleaseEvent( QKeyEvent *e ) ;
} ;
void mapView:: keyPressEvent( QKeyEvent *e )
{
if (e->key() == Qt::Key_Up)
magnify() ;
if (e->key() == Qt::Key_Down)
reduce() ;
if (e->key() == Qt::Key_Right){
if (e->modifiers() & Qt::ShiftModifier) move(100) ;
else move(1) ;
}
}
mainWindow::mainWindow()
{
map = new mapView ;
map->setFocusPolicy(Qt::StrongFocus) ;
最新の20件
2020-12-25
2007-03-14
2006-10-30
2006-11-09
2007-03-14
2006-11-09
2006-11-10
2006-11-09
2008-05-20
2007-11-07
2007-11-01
今日の8件
- counter: 694
- today: 1
- yesterday: 0
- online: 1