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

use*_*576 16 qt

似乎可以使用本机控件(请参阅此处此处),所以现在我正在寻找一些Qt代码来完成它.

mmo*_*nem 17

我在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();
Run Code Online (Sandbox Code Playgroud)

  • 已确认无法在 Qt5 上运行。设置全屏后移动窗口似乎有效。 (2认同)

Nej*_*jat 11

在Qt5中执行此操作的一种方法是使用QWindow::setScreen设置应显示窗口的屏幕.QWidget有一个windowHandle()返回指向的指针QWindow.

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

QWidget * widget = new QWidget();
widget->show();
widget->windowHandle()->setScreen(qApp->screens()[1]);
widget->showFullScreen();
Run Code Online (Sandbox Code Playgroud)


小智 5

首先是showFullScreen,然后是setGeometry.

Qt5测试好了


use*_*108 5

我对此的看法:

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

  setGeometry(desktop->screenGeometry(1));

#ifndef Q_OS_WIN
  setWindowState(Qt::WindowState(Qt::WindowFullScreen | windowState()));
#endif // Q_OS_WIN
Run Code Online (Sandbox Code Playgroud)