我在linux上使用Qt5,我想在第二个屏幕(双显示器)上显示全屏窗口形式?我试过这段代码,但它不起作用。还有其他办法吗?
QRect screenres = QApplication::desktop()->screenGeometry(1/*screenNumber*/);
Widget *secondDisplay = new Widget(); // Use your QWidget
secondDisplay->move(QPoint(screenres.x(), screenres.y()));
secondDisplay->resize(screenres.width(), screenres.height());
答案 0 :(得分:2)
您可以使用QScreen
。
QScreen *screen = QGuiApplication::screens()[1]; // specify which screen to use
SecondDisplay secondDisplay = new SecondDisplay(); // your widget
secondDisplay->move(screen->geometry().x(), screen->geometry().y());
secondDisplay->resize(screen->geometry().width(), screen->geometry().height());
secondDisplay->showFullScreen();
答案 1 :(得分:1)
在Qt5中执行此操作的一种方法是使用QWindow::setScreen
来设置应显示窗口的屏幕。 QWidget
有windowHandle()
,返回指向QWindow
。
以下是如何在全屏模式下在最后一个屏幕中显示您的小部件:
secondDisplay->show();
secondDisplay->windowHandle()->setScreen(qApp->screens().last());
secondDisplay->showFullScreen();