Qt5 两个屏幕创建两个窗口分别显示在两个sreen
时间: 2024-09-11 09:07:47 浏览: 23
在Qt5中,如果你想要在两个屏幕上创建并各自显示两个独立的窗口,可以按以下步骤操作:
1. **获取屏幕信息**:
首先,你需要获取系统的屏幕列表,这可以通过 `QApplication::screens()` 函数完成。
```cpp
QList<QScreen*> screens = QApplication::screens();
```
2. **创建窗口**:
对于每个屏幕,你需要创建一个单独的 `QMainWindow` 或者任何派生自 `QWidget` 的窗口实例,并指定你要将其显示在哪个屏幕上。
```cpp
for (int i = 0; i < screens.size(); ++i) {
QMainWindow *window = new QMainWindow;
window->setGeometry(QRect(0, 0, 800, 600)); // 窗口大小任选
window->setScreen(screens[i]); // 将窗口放到第i个屏幕
window->show(); // 显示窗口
}
```
这里假设每个窗口都默认大小为800x600像素,可以根据实际需求调整。
3. **布局窗口**:
如果你希望窗口在屏幕边缘自动适应,可以使用诸如 `QDesktopWidget` 来帮助你找到适合的位置。
```cpp
QRect screenGeometry = screens[i]->geometry();
QMainWindow *window = new QMainWindow;
int x = screenGeometry.width() / 2 - window->width() / 2; // 中心对齐
int y = screenGeometry.height() / 2 - window->height() / 2;
window->move(x, y);
```
4. **运行应用**:
最后,启动你的Qt应用程序即可看到这两个窗口分别在各自的屏幕上显示。