0

次のコードを使用して、全画面表示と最大化ウィンドウを切り替えています。

void MainWindow::keyPressEvent(QKeyEvent *e)
{
  if ((e->key()==Qt::Key_Enter) && (e->modifiers()==Qt::AltModifier))
       this->setWindowState(Qt::WindowFullScreen);
  if (e->key()==Qt::Key_Escape)
      if(isFullScreen())
        this->setWindowState(Qt::WindowMaximized);
}

しかし、これは機能しません。誰かがここで何が問題なのか教えてもらえますか?

4

2 に答える 2

0

次のものは使用しないでください。

e->modifiers()==Qt::AltModifier

modifiers() 関数はフラグを返すため、キー修飾子をチェックします。次のようなものを使用します。

e->modifiers()&Qt::AltModifier

また

(e->modifiers()&Qt::AltModifier)==Qt::AltModifier
于 2012-12-27T08:15:35.613 に答える
0

おそらく、Alt+Enter を使用するべきではありません。

Alt+Enter は実際には機能しないため、キーを Alt+F などに変更できます。

于 2012-12-27T07:58:45.670 に答える