关于Qt/C++和QML获取屏幕大小方法的总结
来源:互联网 发布:郝海东网络直播视频 编辑:程序博客网 时间:2024/06/09 14:05
在桌面应用程序的开发过程中,获取屏幕(桌面)的大小来定位桌面应用所显示的位置,是桌面开发中经常用到的
手段,在Qt开发和QML开发中也不例外,本篇着重介绍Qt获取桌面屏幕大小的两种方法,以及对应的QML中获取桌面屏幕
大小的两种方法。
首先上图,说明一下屏幕桌面的区域划分:
(1)、包含头文件
#include <QApplication>
#include <QDesktopWidget>
(2)、获取方法
首先需要调用:
QDesktopWidget* desktopWidget = QApplication::desktop();
得到桌面对象的指针,然后调用如下两个函数分别获取桌面客户区大小和整个桌面的大小。
(2.1)、调用如下方法得到客户区的矩形(上图中的蓝框):
QRect clientRect = desktopWidget->availableGeometry();
根据方法 clientRect.width() 和 clientRect.height() 就可以获取桌面客户区的宽和高的大小。
例如:如果屏幕的分辨率为1366*768,则以上获取的宽为1366,高为728.可见其去除了任务栏的高度。
(2.2)、调用如下方法可得到整个桌面的矩形(上图中的红框):
QRect applicationRect = desktopWidget->screenGeometry();
根据方法 applicationRect.width() 和 applicationRect.height() 就可以获取整个桌面的宽和高的大小。
例如:如果屏幕的分辨率为1366*768,则以上获取的宽为1366,高为768。可见其包括了任务栏的高度。
二、QML获取桌面屏幕大小:
(1)、引入声明文件
import QtQuick.Window 2.2
(2)、获取方法
(2.1)、通过全局对象Screen获取客户区的矩形(上图中的蓝框):
根据Screen对象的属性desktopAvailableWidth和desktopAvailableHeight,即Screen.desktopAvailableWidth和
Screen.desktopAvailableHeight即可得到桌面客户区的宽和高的大小。
例如:如果屏幕的分辨率为1366*768,则以上获取的宽为1366,高为728.可见其去除了任务栏的高度。
(2.2)、通过全局对象Screen获取整个桌面矩形(上图中的红框):
根据Screen对象的属性width和height,即Screen.width和
Screen.height即可得到桌面客户区的宽和高的大小。
手段,在Qt开发和QML开发中也不例外,本篇着重介绍Qt获取桌面屏幕大小的两种方法,以及对应的QML中获取桌面屏幕
大小的两种方法。
首先上图,说明一下屏幕桌面的区域划分:
如图:
一、Qt/C++获取桌面屏幕大小:(1)、包含头文件
#include <QApplication>
#include <QDesktopWidget>
(2)、获取方法
首先需要调用:
QDesktopWidget* desktopWidget = QApplication::desktop();
得到桌面对象的指针,然后调用如下两个函数分别获取桌面客户区大小和整个桌面的大小。
(2.1)、调用如下方法得到客户区的矩形(上图中的蓝框):
QRect clientRect = desktopWidget->availableGeometry();
根据方法 clientRect.width() 和 clientRect.height() 就可以获取桌面客户区的宽和高的大小。
例如:如果屏幕的分辨率为1366*768,则以上获取的宽为1366,高为728.可见其去除了任务栏的高度。
(2.2)、调用如下方法可得到整个桌面的矩形(上图中的红框):
QRect applicationRect = desktopWidget->screenGeometry();
根据方法 applicationRect.width() 和 applicationRect.height() 就可以获取整个桌面的宽和高的大小。
例如:如果屏幕的分辨率为1366*768,则以上获取的宽为1366,高为768。可见其包括了任务栏的高度。
二、QML获取桌面屏幕大小:
(1)、引入声明文件
import QtQuick.Window 2.2
(2)、获取方法
(2.1)、通过全局对象Screen获取客户区的矩形(上图中的蓝框):
根据Screen对象的属性desktopAvailableWidth和desktopAvailableHeight,即Screen.desktopAvailableWidth和
Screen.desktopAvailableHeight即可得到桌面客户区的宽和高的大小。
例如:如果屏幕的分辨率为1366*768,则以上获取的宽为1366,高为728.可见其去除了任务栏的高度。
(2.2)、通过全局对象Screen获取整个桌面矩形(上图中的红框):
根据Screen对象的属性width和height,即Screen.width和
Screen.height即可得到桌面客户区的宽和高的大小。
例如:如果屏幕的分辨率为1366*768,则以上获取的宽为1366,高为768。可见其包括了任务栏的高度。
1 0
- 关于Qt/C++和QML获取屏幕大小方法的总结
- Qt获取屏幕大小的方法
- Qt 获取屏幕的大小
- Android 几种常用关于屏幕操作的方法(获取屏幕大小,全屏,显示方向)
- QT获取系统屏幕大小
- Android获取屏幕大小的方法
- android获取设备屏幕大小的方法
- android获取设备屏幕大小的方法
- android获取设备屏幕大小的方法
- android获取设备屏幕大小的方法
- Android获取设备屏幕大小的方法
- android获取设备屏幕大小的方法
- js获取屏幕大小的方法
- android获取设备屏幕大小的方法
- android获取设备屏幕大小的方法
- android获取屏幕大小的多种方法
- android获取设备屏幕大小的方法
- android获取设备屏幕大小的方法
- 446. Arithmetic Slices II
- Nginx安装配置(系统平台:CentOS 7.1 64位)
- 总结巩固知识点
- AngularJS入门之组件化
- Http状态码详解
- 关于Qt/C++和QML获取屏幕大小方法的总结
- ES6-函数的扩展
- Android 双击返回键退出程序的3种写法~
- 云服务器无处不在:网络就是计算机
- Java-大集合拆分为指定大小的小集合
- Android Service完全解析,关于服务你所需知道的一切(上)
- appium-desktop-1.0.0.dmg appium 1.6.4 (真机)问题和解决方法
- JSP操作XML
- nodejs实现跨分区重命名文件