2014-10-16 76 views
4

我試圖找到QDockWidget標題欄的高度,以便對自定義佈局進行一些智能大小調整,但標題欄不是單獨的小部件,而是構建到專用佈局中碼頭小部件,並且沒有成員可以訪問它。有沒有其他方法可以找到它的高度?QDockWidget標題欄高度

回答

6

是的,您可以使用碼頭的QStyle元素的pixelMetric成員函數找到標題欄的高度。您可能還需要查詢邊距,因爲它會在標題欄周圍增加空間,並且佈局需要注意它。例如:

QDockWidget * myDock = new QDockWidget; 
int titleBarHeight = myDock->style()->pixelMetric(QStyle::PM_TitleBarHeight); 
int titleBarMargin = myDock->style()->pixelMetric(QStyle::PM_DockWidgetTitleMargin); 
-1

您可以隨時運行QObject :: findChild以及合適的類型或對象名稱來查找否則無法訪問的子級。

+1

這個答案可以用'QObject :: findChild'如何用來解決OP的問題來改進。 – Floegipoky 2014-10-16 21:08:03

+0

這是錯誤的,因爲除非您創建了自定義標題欄,否則標題欄不是Dock小部件的子項。此外,無論如何,QTitleBar類都不存在。 – 2014-10-16 21:10:50