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

也许您不应该使用 Alt+Enter。

您可以将键更改为 Alt+F 或其他,因为 Alt+Enter 实际上不起作用。

于 2012-12-27T07:58:45.670 回答
0

你不应该使用:

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

检查键修饰符,因为 modifiers() 函数返回标志。使用类似的东西:

e->modifiers()&Qt::AltModifier

或者

(e->modifiers()&Qt::AltModifier)==Qt::AltModifier
于 2012-12-27T08:15:35.613 回答