2017-03-07 10 views
1

Ich habe ein QDockWidget, bei dem Inhalt und Größe des Docks identisch sein sollten. Ich stoße zurzeit auf ein Problem, obwohl die Größe des Docks gültig ist; Das übergeordnete zentrale Widget erzeugt rechts eine Lücke von 4 Pixeln, die ich bei der Größenanpassung des Hauptfensters nicht verkleinern kann. Hier ist ein Screenshot:Qt QDockWidget fügt zusätzlichen Randbereich hinzu

Broken dock

Dies ist der Code, den ich verwende das Dock an eine bestimmte Größe zu zwingen; Das funktioniert gut und macht das Dock zur richtigen Größe. (Es enthält auch einen Rahmen, der die gleiche Größe wie das Dock sein soll):

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

Ich habe auch versucht layout()->setContentsMargins(0,0,0,0); für die Verwendung von sowohl das Hauptfenster und Zentral Widget ohne Erfolg.

Hat jemand eine Vorstellung davon, woher diese zusätzlichen Pixel kommen und wie Sie dieses Problem beheben können? Vielen Dank im Voraus.

Antwort

2

Die Lücke hat sehr wenig mit der QDockWidget zu tun. Es ist eine Eigenschaft von QMainWindow - es ist ein beweglicher Separator zwischen Dock-Widgets oder zwischen Dock-Widget und einem zentralen Widget.

Sie können mit dem Stylesheet zum Beispiel es loswerden:

QMainWindow::separator 
{ 
    width: 0px; /* when vertical */ 
    height: 0px; /* when horizontal */ 
} 

in Ihrem C++ Code:

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