使用Qt在辅助监视器上全屏显示窗口

时间:2010-07-08 11:37:13

标签: qt

似乎可以使用原生控件(请参阅herehere),所以现在我正在寻找一些Qt代码来执行此操作。

5 个答案:

答案 0 :(得分:16)

我在Windows和Windows上成功使用此代码进行全屏显示。 Linux的

QRect screenres = QApplication::desktop()->screenGeometry(1/*screenNumber*/);
SecondDisplay secondDisplay = new SecondDisplay(); // Use your QWidget
secondDisplay->move(QPoint(screenres.x(), screenres.y()));
secondDisplay->resize(screenres.width(), screenres.height());
secondDisplay->showFullScreen();

答案 1 :(得分:10)

在Qt5中执行此操作的一种方法是使用QWindow::setScreen来设置应显示窗口的屏幕。 QWidgetwindowHandle(),返回指向QWindow

的指针

以下是如何在全屏模式下在第二个屏幕上显示您的小部件:

QWidget * widget = new QWidget();
widget->show();
widget->windowHandle()->setScreen(qApp->screens()[1]);
widget->showFullScreen();

答案 2 :(得分:5)

首先是 showFullScreen,然后是setGeometry。

Qt5测试好了

答案 3 :(得分:3)

我对此的看法:

  auto const desktop(QApplication::desktop());

  setGeometry(desktop->screenGeometry(1));

#ifndef Q_OS_WIN
  setWindowState(Qt::WindowState(Qt::WindowFullScreen | windowState()));
#endif // Q_OS_WIN

答案 4 :(得分:-1)

使用window-> showFullScreen()而不是window-> show()时,此问题得到了解决。