QDesktopWidget 類

The QDesktopWidget 類提供對多頭係統屏幕信息的訪問。 更多...

頭: #include <QDesktopWidget>
qmake: QT += widgets
繼承: QWidget

該類已過時。 提供它是為使舊源代碼能繼續工作。強烈建議不要在新代碼中使用它。

公共函數

const QRect availableGeometry (const QWidget * widget ) const
const QRect screenGeometry (const QWidget * widget ) const
int screenNumber (const QWidget * widget = nullptr) const

靜態公共成員

const QMetaObject staticMetaObject

額外繼承成員

詳細描述

The QDesktopWidget 類提供對多頭係統屏幕信息的訪問。

具有多個圖形卡和顯示器的係統,可以管理作為多個桌麵或大型虛擬桌麵的可用物理屏幕空間。

此類提供有關用戶桌麵的信息,如總尺寸、屏幕數、每個屏幕的幾何體及把它們配置成單獨桌麵或單個虛擬桌麵。

由 Qt 提供的 Widget 使用此類把工具提示、菜單及對話框放置在其父級 (或應用程序 Widget) 的正確屏幕上。應用程序可以使用此類,以獲得可用於保存窗口位置的信息,或在一特定屏幕上放置子級 Widget 和對話框。

獲得桌麵 Widget

The QApplication::desktop () 函數用於獲取實例化的 QDesktopWidget .

Widget 的 screenGeometry () 函數,提供有關可用屏幕幾何體的信息。返迴可用屏幕數,通過 screenCount ,和 screenCountChanged () 信號被發射,當屏幕被添加或移除時。返迴特定點或 Widget 所在的屏幕號,通過 screenNumber ().

屏幕幾何體

要獲得特定屏幕的尺度,調用 screenGeometry () 函數。在某些桌麵環境,並非所有屏幕都可供應用程序使用;例如,應用程序 Dock 停靠 (或菜單欄) 可能占用一些空間。使用 availableGeometry () 函數,以獲得應用程序的可用區域。

QDesktopWidget 還繼承瞭 QWidget 特性, width () 和 height () 指定桌麵尺寸。但是,對於具有多個屏幕的桌麵,桌麵尺寸是所有屏幕大小的 Union (並集),因此 width () 和 height () 應該 not 用於計算,要被放置在某一屏幕上的 Widget 尺寸。

在將可用屏幕配置成單個大型虛擬桌麵的係統中, virtualDesktop 特性會被設為 true。在這種情況下,Widget 的尺寸通常是所有屏幕的邊界矩形尺寸。

首要屏幕的使用

對於應用程序,主 Widget 所在的屏幕是首要屏幕。這被存儲在 primaryScreen 特性。打開於應用程序上下文的所有窗口,都應該被約束到首要屏幕邊界;例如:它會很不方便,若對話框在不同屏幕中彈齣,或分割於 2 屏幕上。

Managing Multiple Screens

在以上插圖中,Application One 的首要屏幕是 screen 0,而 App Two 的首要屏幕是 screen 1。

另請參閱 QApplication and QApplication::desktop ().

成員函數文檔編製

const QRect QDesktopWidget:: availableGeometry (const QWidget * widget ) const

這是重載函數。

返迴屏幕的可用幾何體,其包含 widget .

另請參閱 screenGeometry ().

const QRect QDesktopWidget:: screenGeometry (const QWidget * widget ) const

這是重載函數。

返迴屏幕的幾何體,其包含 widget .

int QDesktopWidget:: screenNumber (const QWidget * widget = nullptr) const

返迴屏幕的索引,包含最大部分的 widget ,或 -1 若 Widget 不在屏幕上。

另請參閱 primaryScreen .