答案 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
来设置应显示窗口的屏幕。 QWidget
有windowHandle()
,返回指向QWindow
。
以下是如何在全屏模式下在第二个屏幕上显示您的小部件:
QWidget * widget = new QWidget();
widget->show();
widget->windowHandle()->setScreen(qApp->screens()[1]);
widget->showFullScreen();
答案 2 :(得分:5)
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()时,此问题得到了解决。