按下时是如何全屏显示的?按Esc时按Enter + Enter和最大化窗口?

时间:2012-12-27 07:00:04

标签: qt qt4

我使用以下代码在全屏和最大化窗口之间切换,

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);
}

但这不起作用。任何研究都可以告诉我这里有什么问题吗?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

你不应该使用:

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

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

e->modifiers()&Qt::AltModifier

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