C++ Qt关于多屏幕窗口处理

简介: C++ Qt关于多屏幕窗口处理

一、多显示器Qt窗口处理

假设包含两块屏幕,分辨率分别为1920✖1080,设置为扩展屏,想将窗口(1920✖1080)显示在第二块屏幕上

  1. 首先获取屏幕数量
  2. 若为一块屏幕,setGeometry(0, 0, 1920, 1080)
  3. 若为两块屏幕,获取主屏幕,若第一块屏幕为主屏幕,setGeometry(1920, 0, 1920,
    1080),若第二块屏幕为主屏幕,setGeometry(0, 0, 1920, 1080)

注意:QGuiApplication::primaryScreen()->virtualGeometry(),获取到的主屏幕X、Y都为0,无论主屏幕是第一块屏幕还是第二块屏幕

二、代码

代码如下(示例):

  QDesktopWidget* desktopWidget = QApplication::desktop();
  //获取设备屏幕大小
  int screencount = desktopWidget->screenCount();
  this->setGeometry(0, 0, 1920, 1080);
  if (screencount == 2) {
    QRect rect = desktopWidget->screenGeometry(screencount - 1);
    QScreen *primaryScreen = QGuiApplication::primaryScreen();
    QRect primaryVirtualGeometry = primaryScreen->virtualGeometry();
    int primaryScreenX = primaryVirtualGeometry.x();
    int primaryScreenY = primaryVirtualGeometry.y();
    if (primaryScreenX == 0 && primaryScreenY == 0) {
    this->setGeometry(1920, 0, 1920, 1080);
    }
    else {
    this->setGeometry(0, 0, 1920, 1080);
    }
  }

推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:

零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)

https://xxetb.xet.tech/s/VsFMs


相关文章
WK
|
1月前
|
开发框架 开发工具 C++
C++跨平台框架Qt
Qt是一个功能强大的C++跨平台应用程序开发框架,支持Windows、macOS、Linux、Android和iOS等操作系统。它提供了250多个C++类,涵盖GUI设计、数据库操作、网络编程等功能。Qt的核心特点是跨平台性、丰富的类库、信号与槽机制,以及良好的文档和社区支持。Qt Creator是其官方IDE,提供了一整套开发工具,方便创建、编译、调试和运行应用程序。Qt适用于桌面、嵌入式和移动应用开发。
WK
72 5
|
4月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
775 4
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
|
4月前
|
存储 C++
【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】
【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】
105 1
【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】
|
4月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
199 2
|
4月前
|
C++ Windows
Qt 窗口置顶
Qt 窗口置顶
127 1
|
4月前
|
存储 算法 C++
【C++】C++ QT实现Huffman编码器与解码器(源码+课程论文+文件)【独一无二】
【C++】C++ QT实现Huffman编码器与解码器(源码+课程论文+文件)【独一无二】
115 4
|
4月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
869 4
|
4月前
|
数据安全/隐私保护
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
440 4
|
4月前
|
搜索推荐 C++
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
148 4