QT6替换QApplication::desktop()->screenNumber()
时间: 2024-09-29 14:09:22 浏览: 38
QT拖放事件之四:自定义拖放操作-利用QDrag来拖动完成数据的传输-案例demo
在Qt 6中,如果你想要获取屏幕编号代替`QApplication::desktop()->screenNumber()`,你可以使用`QGuiApplication`提供的屏幕管理功能。`QGuiApplication`是Qt 5中的`QApplication`的图形用户界面版本,在Qt 6中更加强调了图形相关的操作。你可以这样做:
```cpp
#include <QGuiApplication>
#include <QDesktopWidget>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
int screenNumber = app.primaryScreen(); // 获取主屏幕编号
// 或者
const auto &screens = app.screens();
for (const auto &screen : screens) {
int index = screens.indexOf(screen); // 获取屏幕索引
qDebug() << "Screen " << index << ": " << screen.geometry().toString();
}
return app.exec();
}
```
这里`primaryScreen()`方法直接返回主显示器的编号,而`screens()`则返回所有可用屏幕的列表,你可以遍历这个列表得到每个屏幕的编号。
阅读全文