Qt5.2文档翻译:QDesktopWidget类,QDesktopWidget Class
QDesktopWidget 类,用来在多显示器的系统中访问到屏幕的相关信息。 详情……
头文件: |
#include <QDesktopWidget> |
qmake: |
QT += widgets |
继承: |
QDesktopWidget类,用来在多显示器的系统中访问到屏幕的相关信息。
在那些有多个显卡及显示器的系统中,能够将那些可用的物理屏幕当作多个桌面使用,或者当作一个巨大的虚拟桌面使用。
这个类,提供了与用户的桌面相关的信息,例如:桌面的总尺寸;屏幕的个数;每个屏幕的几何尺寸;以及,多个屏幕是被当作单独的桌面使用还是被当作整个虚拟桌面使用。
Qt提供了那些部件,会利用这个类提供的信息来将工具提示、菜单及对话框放置在它们的亲代或程序部件所在的正确屏幕上。妳自己的应用程序呢,也可以利用这个类,来获取一些信息,以便,保存窗口位置,或者将子代部件及对话框放置在特定的屏幕上。
使用 QApplication::desktop ()函数 来获取QDesktopWidget 的实例。
此部件的 screenGeometry ()函数 会返回可用的屏幕的几何信息。 可通过 screenCount 来得知可用的屏幕的个数,并且 ,当有屏幕被添加到系统或者从系统中删除时,会发射 screenCountChanged ()信号。对于某个特定 的点或者部件所位于其中的那个屏幕,可通过 screenNumber ()来获取其编号。
要想获取某个特定屏幕的几何信息,则调用 screenGeometry ()函数。 在某些桌面环境中,并非屏幕 上所有的空间都可被应用程序使用的;例如,可能 会存在一个应用程序停靠栏或者菜单栏,它们会占用一些空间。使用 availableGeometry ()函数 来获取可被应用程序使用的空间的尺寸。
QDesktopWidget 也继承了 QWidget 的 width () 和 height ()属性,它们表达 了桌面的尺寸。然而 ,对于拥有多个屏幕的桌面,桌面 的尺寸是所有屏幕尺寸 的组合 ,所以 , 不 应当使用 width () 和 height () 来计算将要被放置到某个屏幕上的部件的尺寸。
如果系统将所有可用的屏幕都配置为整个虚拟桌面,则, virtualDesktop 这个属性会为真(true)。 在这种情况下,此部件的尺寸通常是所有屏幕组成的几何体的包围区域的尺寸。
对于 一个应用程序来说,它的主部件所位于其中的那个屏幕,即为主屏幕。 这是由 primaryScreen 属性来存储的。 在本应用程序的上下文中所打开的所有窗口, 都应当被限制在 主屏幕的范围内;例如,如果某个对话框 在另一个屏幕上弹出,或者横跨两个屏幕,则,狠不方便。
在上图中,应用程序1(Application One)的主屏幕是屏幕0(screen 0),而应用程序2(App Two)的主屏幕是屏幕1(screen 1)。
参考 QApplication 和 QApplication::desktop () 。
这个属性,存储的是,系统中被配置为主屏幕的那个屏幕的编号。
访问函数 :
int |
primaryScreen() const |
这个属性,存储的是,系统中当前可用的屏幕的个数。
这个属性是从Qt 4.6 开始引入的。
访问函数 :
int |
screenCount() const |
通知信号 :
void |
screenCountChanged(int newCount) |
这个属性,表示的是,系统是否将所有可用的屏幕当成一个虚拟桌面来使用。
对于虚拟桌面, screen () 会永远返回同一个部件。虚拟桌面 的尺寸即为此桌面部件的尺寸。
访问函数 :
bool |
isVirtualDesktop() const |
返回一个部件,它代表着编号为 screen (值为-1则表示默认屏幕)的屏幕。
如果系统被配置为使用一整个虚拟桌面,则,所返回的那个部件将会具有整个虚拟桌面的几何属性;也就是说,包含着每个 屏幕 ( screen )。
参考 primaryScreen 、 screenCount 和 virtualDesktop 。
返回编号为 screen 的屏幕的几何属性。如果 screen 的值为-1,则会返回默认屏幕的信息。
参考 screenNumber () 。
未知美人
未知美人
林佳陵
HxLauncher: Launch Android applications by voice commands