- 351 名前:デフォルトの名無しさん [2009/10/25(日) 16:53:03 ]
- >>343
QWidget(QDialogを含む)にフォーカス属性があるから、 このフォーカス関係の属性をセットすれば いいのかもしれないんだけどよく知らないから、思いつく方法を列記する。 (1) QLineEditのカスタムクラスを書いてキーイベントをハンドルして ESCキーのときは、accept()して、親ウィジットであるダイアログに イベントを伝えないようにする。 (2) または、QLineEditにイベントフィルターをインストールして、 同様の処理をする。 (3) デザインフォーム(Qt DesignerまたはQt Creatorに組み込まれたもの)を使用しているのなら QLineEditを格上げして、そこで同様の処理をする。 (4) あるいは、ダイアログのキーイベントをハンドルして、lineEdit->hasFocus()して、 QLineEditにフォーカスが当たっているときは、ESCキーに対してデフォルトの 振る舞いをしないようにする。
|

|