2017-03-07 80 views
1

我有一個QDockWidget,其中dock的內容和大小應該是相同的。我目前遇到一個問題,雖然碼頭的大小是有效的;父級中央窗口小部件在右側創建一個4像素的間隙,當調整主窗口大小時,我似乎無法縮小。下面是截圖:Qt QDockWidget增加了額外的空白區域

Broken dock

這是我用強制碼頭到特定的大小不同的代碼;這工作正常,並使碼頭正確的大小。 (它也含有這應該是大小一樣的塢的幀):

ui->dockFrame->resize(w, h); 
ui->dock->setFixedSize(w, h); 

我也使用layout()->setContentsMargins(0,0,0,0);對於主窗口和中央插件無濟於事都試過。

有沒有人有一個想法,這些額外的像素可能來自哪裏,以及如何解決這個問題?先謝謝你。

回答

2

QDockWidget的差距很小。這是一個QMainWindow的財產 - 它是一個可移動的分隔符在碼頭小部件之間,或碼頭小部件和中央小部件之間。

你可以擺脫它例如使用樣式表:

QMainWindow::separator 
{ 
    width: 0px; /* when vertical */ 
    height: 0px; /* when horizontal */ 
} 
在你的C++代碼

mainwindow->setStyleSheet("QMainWindow::separator{ width: 0px; height: 0px; }");