如果在QT中指定显示第二个屏幕呢
时间: 2024-02-21 12:01:33 浏览: 21
在 Qt 中,可以使用 `QScreen` 类获取系统中所有的屏幕,并使用 `QWindow` 类创建窗口并设置它们的位置和大小。要指定在第二个屏幕上显示窗口,可以使用 `QScreen::availableGeometry()` 方法获取第二个屏幕的可用区域,然后将窗口移动到该区域上。
以下是一个简单的示例代码,展示如何在第二个屏幕上显示一个窗口:
```cpp
#include <QApplication>
#include <QScreen>
#include <QWindow>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 获取所有屏幕
QList<QScreen *> screens = QGuiApplication::screens();
// 获取第二个屏幕的可用区域
QRect secondScreenRect = screens.at(1)->availableGeometry();
// 创建窗口并设置大小和位置
QWindow window;
window.resize(640, 480);
window.setPosition(secondScreenRect.topLeft());
// 显示窗口
window.show();
return app.exec();
}
```
在上面的代码中,我们首先使用 `QGuiApplication::screens()` 方法获取系统中所有的屏幕,然后通过 `QScreen::availableGeometry()` 方法获取第二个屏幕的可用区域。接着,我们创建一个窗口并设置其大小和位置,将位置设置为第二个屏幕的左上角。最后,我们显示窗口并启动应用程序的事件循环。